我正在尝试构建一个正则表达式: 查找字符串是以字符串后跟逗号开头,还是逗号后跟字符串后跟逗号或逗号后跟字符串末尾的字符串
string, or ,string, or ,string
。
我试过这个但是没有工作:
^[,]string[,]$
和
/^(?:\,string\,)$/
答案 0 :(得分:0)
我假设您在这三种情况中的任何一种情况下都能找到真正的结果,即您不需要区分哪些情况与逗号实际出现的位置有关。< / p>
如果您不需要提取&#34;字符串&#34;匹配的值,然后这应该工作:
^(,string|,string,|string,)$
(|)是OR构造。
如果您确实要提取使用捕获匹配的字符串,则以下内容应该可以正常工作
^(,(\w+)|,(\w+),|(\w+),)$
并且您的匹配字符串将被捕获为匹配组2,3或4.显然,我对允许出现在&#34;字符串&#34;中的内容做出了一些假设。这里的值(= \ w + =只有一个或多个字母数字和下划线),但如果需要,你应该能够修改正则表达式的那一部分。
我在http://rubular.com/r/qyGGjHcC59使用Rubular测试对此进行了实验。如果在某处有一个Java等效的RE测试工具,请使用它,但可能不需要,因为这是你在这里使用的RE的一个非常标准的部分。