Javascript 如何找到特定的模式?
嗨,我必须在Javascript中找到一个模式,其中每个字母的前面和后面必须有+符号。 有没有一种方法可以通过使用正则表达式来实现这一点? 假设我的字符串为++3+4++3+,则为真Javascript 如何找到特定的模式?,javascript,regex,string,Javascript,Regex,String,嗨,我必须在Javascript中找到一个模式,其中每个字母的前面和后面必须有+符号。 有没有一种方法可以通过使用正则表达式来实现这一点? 假设我的字符串为++3+4++3+,则为真 而如果我的字符串是3+4++3+,则为false您可以使用以下正则表达式: /^(\++\d+(?=\+))+\++$/ 代码: var re = /^(\++\d+(?=\+))+\++$/; var s1 = '++3+4++3+' var s2 = '3+4++3+' re.test(s1); true
而如果我的字符串是3+4++3+,则为false您可以使用以下正则表达式:
/^(\++\d+(?=\+))+\++$/
代码:
var re = /^(\++\d+(?=\+))+\++$/;
var s1 = '++3+4++3+'
var s2 = '3+4++3+'
re.test(s1);
true
re.test(s2);
false
(++++[0-9])+(++)
这表示(匹配一个或多个+,匹配一个[0-9])一次或多次,在字符串末尾至少匹配一个+
++3+4++3+==真
3+4++3+==错误
此站点可节省大量regex时间:
JS:
你需要锚定你的正则表达式。这将检查它前面有一个数字,后面有一个加号(除了其他无用的情况,如一行中有多个数字,以及加号序列),但如果所有的数字都是加号的话,就不必了。另外,
g
标志对test
没有任何作用。干杯,拿起“g”。鉴于问题只针对在字符串的开头和结尾至少找到一个“+”,我认为最好发布链接,允许用户自学正则表达式以供自己使用。Hi@liz_ophiuchus,好吧,问题是“每个字母的前面和后面都必须有+符号。”,而不是“必须至少有一个字母前后有一个+符号”。不管怎样。我都赞成让人们自己解决细节,尽管从问题的质量来看,这可能是一个失败的原因。
var str = "++3+4++3+";
var patt = /((\+)+[0-9])+(\++)/;
var result = patt.test(str);