我不是正则表达式的专家,但我的要求很简单:我需要匹配任何至少有3个或更多字符匹配的字符串。如何使用正则表达式来匹配任何字符串,但至少需要3个字符?
因此,举例来说,我们有字符串 “Hello World”,并与以下的匹配它:
"he" => false // only 2 characters
"hel" => true // 3 characters match found
我不是正则表达式的专家,但我的要求很简单:我需要匹配任何至少有3个或更多字符匹配的字符串。如何使用正则表达式来匹配任何字符串,但至少需要3个字符?
因此,举例来说,我们有字符串 “Hello World”,并与以下的匹配它:
"he" => false // only 2 characters
"hel" => true // 3 characters match found
试试这个{3}这将匹配除了新行(\ n)的任何characher
你可以尝试简单的3个点。指的是代码在Perl下面
$ A =-M /.../ #WHERE $一个是你的字符串
这是蟒蛇正则表达式,但它可能工作在实现其他语言它也。
我想这取决于你认为一个角色是什么。如果是字母,数字和下划线:
\w{3,}
如果只是字母和数字:
[a-zA-Z0-9]{3,}
Python中也有一个正则表达式的方法来从一个字符串返回所有匹配。
>>> import re
>>> re.findall(r'\w{3,}', 'This is a long string, yes it is.')
['This', 'long', 'string', 'yes']
是的,我完全回答了一个与OP不同的问题。阅读Paxdiablo的解决方案后,这是有道理的。 – 2010-04-07 06:25:35
然而,这完全是我的问题,所以谢谢你的回答! – kiminoa 2014-12-30 22:18:04
对于.NET用法:
\ p {L} {3}
如果你要匹配单词的开头开始,使用:
\b\w{3,}
\ b:字边界
\ w:单词字符
{3,}:单词字符的三次或更多次
我试过找到类似于主题的第一篇文章。
对于我的需求,我觉得只有 “iokldöajfASD alkjwnkmd ASDKJA wwda达AIJ ednm < .jkakla”
这http://answers.oreilly.com/topic/217-how-to-match-whole-words-with-a-regular-expression/
"\b[a-zA-Z0-9]{3}\b"
3字符的话
请参阅下面的问题评论:“回答者:。{3,}的变体不是OP想要的。” – 2014-04-12 16:36:06
但它无论如何都不回答问题。搜索表达式本身必须至少有三个字符长。例如,如果用户在搜索对话框中输入内容,则至少要输入三个字符才能开始高亮显示匹配项。 OP没有对整个单词做任何说明。 – 2014-04-12 17:44:19
3个或更多字符从字符串或特定位置的任何位置?如果字面意思是“任何三个字符”是匹配,是不是任何长度为3个或更多字符匹配的字符串?只要把字符串长度... – dawg 2010-04-07 06:00:48
'hwd',true或false? – kennytm 2010-04-07 06:12:57
“o w”或“ell”怎么样? – 2010-04-07 06:19:53