给定一个包含0个或多个与正则表达式匹配的子字符串的任意字符串,如何计算该字符串中与正则表达式匹配的子字符串的字符数?
示例:
给定匹配任何电子邮件地址和字符串“I have two email address:email@gmail.com and email@hotmail.com”的正则表达式,将返回int值32(“email@gmail.com”加上“email@hotmail.com”中的字符数)。
看来我说得不够清楚。让我们假设您希望对一条tweet中的字符数设置一个限制,但您希望允许人们在tweet中包含他们的电子邮件地址,并将其计算为零字符。
解决方案的可能方法签名:
public int lengthOfSubStringsMatchingRegex(String input, String regex)
只需在Regex的匹配组上循环,并使用length()
提取字符数。把它们加到你的柜台上,就这样。
public int lengthOfSubStringsMatchingRegex(String input, String regex)
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
int count = 0;
while (m.find())
count += m.group().length();
return count;
}
作为另一种选择,但可读性稍差,您可以直接使用偏移量:
count += m.end() - m.start();
start()返回前一个匹配的起始索引。
end()返回匹配的最后一个字符之后的偏移量。
我试图用正则表达式匹配替换给定的字符。例如,给定以下字符串: 如果你看看你生活中拥有的,你总是会拥有更多。如果你看看你生活中没有的,你永远不会有足够的 我想用“!”替换所有的“t”,只有在字符“ok”和“fe”之间匹配的情况下。 我用这个正则表达式得到“ok”和“fe”之间的匹配: 并且我只能将一个字符与以下正则表达式匹配: 我试图用以下方式转换正则表达式,但它不起作用: 我怎样才能在ok和fe之
本文向大家介绍Python正则表达式匹配字符串中的数字,包括了Python正则表达式匹配字符串中的数字的使用技巧和注意事项,需要的朋友参考一下 1.使用“\d+”匹配全数字 代码: 结果: ['479', '501', '870', '209', '213', '650'] 但是上述这种方式也会引入非纯数据,例子如下: 结果: ['479', '501', '870', '209', '213',
说到正则表达式,我没那么令人印象深刻。。。 我试图匹配一个单词中除第二个字符外的所有字符。 我想匹配 示例字符串: 我提出了以下两个正则表达式。 除第一个字符外,此字符与“uml”匹配( -- 这与第一个字符匹配,除了最后3个(uml)
我需要一个与字符串中的子字符串匹配的正则表达式, 匹配的字符串必须是/*exa*/而不是/*exa*/mple*/。 它也不能包含。 我试过这些正则表达式:
问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需
问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)