Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找到特定的模式?_Javascript_Regex_String - Fatal编程技术网

Javascript 如何找到特定的模式?

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

嗨,我必须在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

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);