Perl匹配大于给定长度的字符

时间:2011-08-11 09:10:47

标签: regex perl

我一直在努力编写正则表达式,该正则表达式匹配括号内超过给定长度的单词。首先,我认为我可以使用\(\w{a,}\)执行此操作,但我发现它与带有空格的单词(ab cd ef)不匹配。我想做的就是找出括号内的任何字符,例如3个字符。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

您可以使用包含\w\s的字符类:

\([\w\s]{a,}\)

答案 1 :(得分:1)

带有空格的单词是什么?

如果您想匹配任何字符,请使用.

\(.{3,}\)

.匹配除换行符之外的任何字符

但要小心,这很贪心。它也会匹配例如

(a)123(b)

为避免这种情况,您可以执行类似

的操作
\([^)]{3,}\)

在此处查看online on Regexr

[^)]表示除)

以外的任何字符

答案 2 :(得分:1)

也许你的意思是?

  \([\w\s]{a,}\)

答案 3 :(得分:0)

如果它中有空格,那就不再是一个字了。

匹配任何字符\(.{a,}\)?或者你只需​​要空格\(\(\w|\s\){a,}\)