如何使用正则表达式在字符串中定义分隔符?

时间:2013-06-06 13:27:46

标签: regex

我想要一个字符串,该字符串必须在括号()中,并以逗号,分隔,例如:(aaa),(bbbb),(cccccccc)

我如何使用正则表达式匹配?

3 个答案:

答案 0 :(得分:2)

你可以试试这个

^(?!,)(,?\(\w+\))+$

^标志着字符串的开头

$标记字符串

的结尾

<{1}},^都是必需的,否则它将在

之间匹配

$匹配[a-zA-Z \ d _]

中的1到多个

\w+可选择匹配,?

,会在字符串的开头查找^(?!,),如果找到它,则会进一步匹配。如果找不到,则返回上一个位置,即字符串的开头

答案 1 :(得分:1)

这应该这样做:

/^\(([^)])\1*\)(?:,\(([^)])\2*\))*$/

backreferences用于repeated characters,围绕它们进行转义括号,并允许其后跟同一个many times - 用逗号分隔。在整个字符串上总共anchored

答案 2 :(得分:0)

这个正则表达式

\(([^\)])\)

将匹配paresthenses内的所有内容。您可以使用它来查找子匹配或任何您需要的内容。

我建议您首先进行标记,将不同变量保存为逗号分隔的内容,然后使用正则表达式匹配括号内的内容。