javaScript高级程序设计:正则表达式代码实例
程序员文章站
2022-06-21 08:34:12
正则表达式通常用来匹配一个字符串,返回true(至少匹配到了一次)或者false(一次也没匹配到)。
正则表达式分为字面量方式和构造函数的方式
var reg = /[ab...
正则表达式通常用来匹配一个字符串,返回true(至少匹配到了一次)或者false(一次也没匹配到)。
正则表达式分为字面量方式和构造函数的方式
var reg = /[abs]/g; //字面量 var reg5 = new regexp("[sbs]jjj", "g");//全局匹配sjjj或者bjjj;
字面量形式转换为构造函数的正则要注意的事项:
var reg5 = new regexp("[sbs]jjj", "g");//全局匹配sjjj或者bjjj; //等同于 var reg6 = /[sbs]jjj/g; //注意传递给构造函数的参数都是字符串, //所以在某些时候可能要字符进行双重转译(在转译的基础上再次进行转译,所有的元字符),通常是"\",在构造函数中转译成"\\"(或者说,遇到"\",就转译成"\\")
正则表达式有三种匹配模式---i,g,m。
1.i表示在匹配的时候不区分大小写(包括要匹配的字符串和正则字面量本身);g表示全局匹配(可能会匹配多次,而不是匹配到一次就停止,并且下一次匹配总是从上一次匹配上的字符之后进行),m表示多行(不常用),三种匹配模式可以组合使用
var reg1 = /ght///匹配字符中的ght字符,只匹配一次; var reg2 = /ght/g alert(reg2.test("htyghtthyght"))//会进行多次匹配,第一次是从0开始,匹配到第一次后,又从下标为4开始继续匹配
元字符:( [ { \ ^ $ | ) ? * + .],如果这些元字符要作为匹配"元素",就必须要进行转译,用"\"+元字符进行转译;
/** *全局匹配"yk"或者"hk",不区分大小写 * @type {regexp} */ var reg3 = /[yh]k/gi; /**转译 * 全局匹配"[yh]k",不区分大小写; */ var reg4 = /\[yh\]k/gi; alert(reg4.test("[yh]kii"))//true
上一篇: 橘营养价值,你都知道吗?