介绍
本篇文章给大家分享的是有关JavaScript正则表达式中的问号的使用方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
在表示重复的字符后面加问号,比如+ ? ?,{2,3}?可以停止匹配的贪婪模式。
var 模式=/\ w {2,3}/; console.log (“aaaa" .match(模式)[0]);/*结果“aaa"贪婪模式下会尽可能多的匹配, 所以会匹配3个重复的字符 */var pattern2=/\ w {2,3} ?/; console.log (“aaaa" .match (pattern2) [0]);/* *结果“aa"加问号后会尽可能少的匹配重复次数, *所以匹配到了2个重复的字符 */
在分组内使用吗?:可以产生没有编号的分组,比如
var 模式=/(ab) \ w + (ba)/; console.log (“abcba_" .replace(模式,“1美元“));/*结果“ab_"匹配到的字符被第一个分组(ab) *替换 */var pattern2=/(?: ab) \ w + (ba)/; console.log (“abcba_" .replace (pattern2“1美元“));/* *结果“ba_"第一次分组内加入了吗?:,产生的是一个 *没有编号的分组,所以1美元的匹配的字符是第二个分组, *也就是第一个编号分组(ba)相匹配的文本内容 */
(?=)和(? !);零宽正向断言和负向断言,括号内表示某个位置右边必须和=右边匹配上,或者不和!后的字符匹配。
var 模式=/str (?=ings)荷兰国际集团(ing); console.log (“strings.a" .match(模式); console.log (“strings.a" .match(/字符串(?=s)/)); console.log (“string_x" .match(模式); console.log (“string_x" .match(/字符串(?=s)/));/*前两个结果是“string",后两个结果是零; * str (?=ings) ing/匹配“string" r后面的位置右边必须跟 *上寄托;和/字符串(?=s)/一样,匹配“string"; g后面的位置 *的右边必须跟一个年代!”string_x"虽然也含有“string"但是 *不满足(?=?括号内的条件 */
var 模式=/字符串(? ! s); console.log (“strings" .match(模式));//null console.log(“字符串!”.match(模式));//(“string")/*(? !…)某位置右边不能有!后匹配的字符, *字符串(? ! s)/匹配“string",“g"后不能跟“s" */
以上就是JavaScript正则表达式中的问号的使用方法有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。