我不是正则表达式专家,但我的要求很简单:我需要匹配任何至少有3个或更多匹配字符的字符串。
因此,例如,我们有字符串“hello world”并将其与以下内容匹配:
"he" => false // only 2 characters
"hel" => true // 3 characters match found
答案 0 :(得分:50)
这是python正则表达式,但它也可能适用于实现它的其他语言。
我想这取决于你认为角色是什么。如果是字母,数字和下划线:
\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']
答案 1 :(得分:11)
试试这个。{3,}这将匹配除新行(\ n)
之外的任何字符答案 2 :(得分:4)
如果您想从单词的开头开始匹配,请使用:
\b\w{3,}
\ b:字边界
\ w:单词字符
{3,}:字符
的三次或更多次答案 3 :(得分:3)
我尝试找到类似主题的第一篇文章。
根据我的需要,我找到了这个
http://answers.oreilly.com/topic/217-how-to-match-whole-words-with-a-regular-expression/
"\b[a-zA-Z0-9]{3}\b"
仅限3个字符 “iokldöajf asd alkjwnkmd asd kja wwda da aij ednm< .jkakla”
答案 4 :(得分:1)
您可以尝试简单的3个点。请参阅下面的perl中的代码
$ a = ~m /.../ #where $ a是你的字符串
答案 5 :(得分:0)
对于.NET用法:
\ p {L} {3,}