编辑:我一直在尝试,好像是这样:
\(\w{1,12}\s*\)$
有效,但是它只能在单词的末尾留有空格。
示例
比赛
(stuff )
(stuff )
不是
(st uff)
正则表达式:
\(\w{1,12}\)
这符合以下条件:
(stuff)
但不是:
(stu ff)
我也希望能够匹配空格。
我已经尝试过放置\s
了,但是它破坏了整个事情,没有任何匹配的结果。我在这里看到一个帖子,上面说要把整个东西封装在^[]*$
中,其中要有空格。那只会使正则表达式匹配所有内容。
这可以帮助Google表单验证。我是regex的新手,所以请放轻松。我查了一下我的问题,但找不到与正则表达式兼容的任何东西。 (是因为括号吗?)
答案 0 :(得分:1)
如果您试图在括号之间获取12个字符:
\([^\)]{1,12}\)
[^\)]
段是一个字符类,代表所有不带括号的字符(^
反转了该类)。
如果您想要一些特定的字符,例如字母数字和空格,请将其分组到字符类中:
\([\w ]{1,12}\)
或
\([\w\s]{1,12}\)
如果您想使用12个单词字符,并且中间需要任意数量的空格:
\(\s*(?:\w\s*){1,12}\)
答案 1 :(得分:1)
要匹配(st uff)
或(st uff some more)
之类的文本,您需要这样编写正则表达式,
\(\w{1,12}(?:\s+\w{1,12})*\)
正则表达式说明:
\(
-文字起始括号\w{1,12}
-根据需要匹配长度为1到12的单词(?:\s+\w{1,12})*
-您需要此模式,以便它可以匹配一个或多个空格,后跟一个长度为1到12的单词,并且整个模式可以重复零次或多次。\)
-文字右括号现在,如果要在开始括号和结束括号之后也选择允许空格,则可以将\s*
放在正则表达式中,
\(\s*\w{1,12}(?:\s+\w{1,12})*\s*\)
^^^ ^^^