RegEx:匹配在开头或分号之间或在字符串末尾用分号分隔的字符串

时间:2014-02-14 10:32:49

标签: javascript regex

鉴于这些字符串:

1;2;3
2;1;3
2;3;1

我需要在其中匹配/找到1(为了简单起见,1可以是任何字符串。)

将此模式作为部分解决方案提出,目前适合我的需求(因为它在regexp.test()上返回true):

(?:^|;)(1)(?=;|$)

它匹配1的所有发生但是:

第二个和第三个结果在它前面附有分号:

;1

我怎样才能重写模式以摆脱分号?

提前致谢!

3 个答案:

答案 0 :(得分:1)

只需使用regexp.match()[1]即可获得所需内容。

答案 1 :(得分:1)

你不能 - JavaScript不支持你需要的lookbehind assertions

但您只需访问match[1]即可获取正则表达式match对象的第一个capturing group内容。

答案 2 :(得分:0)

试试这个正则表达式:

^([^1]*)1([^1]*)*$

如果我使用你的情况,它的确有效!此网址可以为您提供帮助:http://www.metriplica.com/es/recursos/expresiones-regulares