JS中正则表达式常用语法总结

一、正则表达式的创建

JS正则的创建有两种方式: new RegExp() 和 直接字面量。

  • 使用RegExp对象创建
var regObj = new RegExp("(^\s+)|(\s+$)","g");
  • 使用直接字面量创建
var regStr = /(^\s+)|(\s+$)/g;

其中 g 表示全文匹配,与之相关的还有 i 和 m,i 表示匹配时忽略大小写,m 表示多行匹配,如果多个条件同时使用时,则写成:gmi

二、()、[]、{} 的区别

修饰符描述举例
()作用是提取匹配的字符串。表达式中有几个()就会得到几个相应的匹配字符串。比如 (\s+) 表示连续空格的字符串
[ ]定义匹配的字符范围。比如 [a-zA-Z0-9] 表示字符文本要匹配英文字符和数字。
{}一般用来表示匹配的长度。比如 \d{3} 表示匹配三个空格,\d[1,3]表示匹配1~3个空格。

三、^ 和 $

修饰符描述举例
^匹配一个字符串的开头比如 (^a) 就是匹配以字母a开头的字符串
$匹配一个字符串的结尾比如 (b$) 就是匹配以字母b结尾的字符串

^ 还有另个一个作用就是取反,比如[^xyz] 表示匹配的字符串不包含xyz

需要注意的是:如果^出现在[]中一般表示取反,而出现在其他地方则是匹配字符串的开头

四、\d \s \w .

修饰符描述
\d匹配一个非负整数, 等价于 [0-9]
\s匹配一个空白字符
\w匹配一个英文字母或数字,等价于[0-9a-zA-Z]
.匹配除换行符以外的任意字符,等价于[^\n]

五、* + ?

修饰符描述举例
*表示匹配前面元素0次或多次比如 (\s*) 就是匹配0个或多个空格
+表示匹配前面元素1次或多次比如 (\d+) 就是匹配由至少1个整数组成的字符串
?表示匹配前面元素0次或1次相当于{0,1} 比如(\w?) 就是匹配最多由1个字母或数字组成的字符串

六、test 、match

前面的大都是JS正则表达式的语法,而test则是用来检测字符串是否匹配某一个正则表达式,如果匹配就会返回true,反之则返回false

/\d+/.test("123") ; //true
 
/\d+/.test("abc") ; //false

match是获取正则匹配到的结果,以数组的形式返回

"186a619b28".match(/\d+/g); // ["186","619","28"] 

七、支持正则表达式的 String 对象的方法

方法描述
search检索与正则表达式相匹配的值。
match找到一个或多个正则表达式的匹配。
replace替换与正则表达式匹配的子串。
split把字符串分割为字符串数组。

更多详细内容可查看 官方文档

以上就是关于正则表达式的常用语法了,觉得不错欢迎收藏哦~

  • 10
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 正则表达式语法与其他编程语言正则表达式语法基本相同。下面是 Java 正则表达式的一些基本语法: 1. `.`:匹配任意单个字符(除了换行符)。 2. `[]`:匹配方括号任意一个字符。例如,`[abc]`匹配字符`a`、`b`或`c`。 3. `[^]`:匹配方括号除了指定字符之外的任意一个字符。例如,`[^abc]`匹配除了字符`a`、`b`和`c`之外的任意一个字符。 4. `*`:匹配前面的表达式零次或多次。 5. `+`:匹配前面的表达式一次或多次。 6. `?`:匹配前面的表达式零次或一次。 7. `{n}`:匹配前面的表达式恰好出现 n 次。 8. `{n,}`:匹配前面的表达式至少出现 n 次。 9. `{n,m}`:匹配前面的表达式至少出现 n 次,至多出现 m 次。 10. `()`:定义一个分组。 11. `|`:匹配两个或多个表达式之一。 在 Java ,还可以使用一些预定义的字符类来简化正则表达式的编写,例如: 1. `\d`:匹配任意一个数字字符。 2. `\D`:匹配任意一个非数字字符。 3. `\w`:匹配任意一个字母、数字或下划线字符。 4. `\W`:匹配任意一个非字母、数字或下划线字符。 5. `\s`:匹配任意一个空格字符。 6. `\S`:匹配任意一个非空格字符。 除了上述语法之外,Java 还支持一些高级的正则表达式语法,例如: 1. `(?i)`:忽略大小写匹配。 2. `(?s)`:将字符串视为单行模式,即`.`可以匹配包括换行符在内的任意字符。 3. `(?m)`:将字符串视为多行模式,即`^`和`$`可以匹配换行符之前和之后的位置。 以上仅是 Java 正则表达式语法的一部分,还有许多其他的语法可以帮助你更好地编写正则表达式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值