JS正则表达式

什么是RegExp?

当你要检测某个文本时,可以使用一种模式来描述要检测的内容,RegExp就是这种模式,,简单的可以是一个单独的字符,更复杂的模式包括了更多的字符,并用于解析,格式检查,替换等等。

RegExp对象又被称为正则表达式,英文名为Regular Expression,在代码中常被称为regex,RE或RegExp.

正则表达式是对字符串执行模式匹配的强大工具,正则表达式用来定义一些字符串的规则,计算机可以根据正则表达式来检查一个字符串是否符合规则, 从而将字符串提取。

正则表达式也是一个对象,在用typeof来检测它时,返回的是一个对象或object.

 

语法一:由于正则表达式也是一个对象,我们可以使用new的方式来创建一个正则表示式

例:new Regexp(pattern, attributes)

 

语法二:我们可以直接声明一个变量然后规定RE的规则

例:var 变量=/pattern/attributes;

 

参数pattern是一个字符串,指定了正则表达式的模式或其他正则表达式

参数attributes 是一个可选的字符串,包含属性’g’,’i’,’m’,分别用于指定全局匹配,区分大小写和多行匹配。要注意的是ECMScript标准化之前。不支持m属性。如果pattern是正则表达式而不是字符串,则必须省略该参数

 

正则表达式中的修饰符,即正则的第二个可以设置的参数

i 忽略大小写,执行对大小写不敏感的匹配

g 执行全局匹配(查找所有符合条件的匹配而非只会查找第一个匹配后停止)

 

正则表达式中的特殊字符

‘^’在正则中表示以什么开头

‘$’在正则中表示以什么结尾

‘/’在正则中是一个转义字符

‘.’在正则中表示任意字符,当你想要使用一个普通的“.”号时,要使用“/”来转义

 

正则表达式的几种方法

test() 用来检测字符串的值,返回的是一个布尔类型的值,true 或false

例: 

eaec() 方法检索字符中的指定值,返回值是被找到的值,如果没有发现匹配,则会返回一个null;

例: 

compile() 这个方法用于改变RegExp,它既可以用来改变检索模式,也可以用来删除第二个元素;

例: 

正则表达式的方括号

[abc] 查找方括号之间的任何字符。

[^abc] 查找任何不在方括号之间的字符。

[0-9] 查找任何从 0 至 9 的数字。

[a-z] 查找任何从小写 a 到小写 z 的字符。

[A-Z] 查找任何从大写 A 到大写 Z 的字符。

[A-z] 查找任何从大写 A 到小写 z 的字符。

[adgk] 查找给定集合内的任何字符。

[^adgk] 查找给定集合外的任何字符。

(red|blue|green) 查找任何指定的选项。

 

正则表达式的对象属性

global RegExp 对象是否具有标志 g。

global RegExp 对象是否具有标志 g。

ignoreCase RegExp 对象是否具有标志 i。

lastIndex 一个整数,标示开始下一次匹配的字符位置。

multiline RegExp 对象是否具有标志 m。

source 正则表达式的源文本。

 

支持正则表达式的几种String方法

search 检索与正则表达式相匹配的值。  

match 找到一个或多个正则表达式的匹配。  

replace 替换与正则表达式匹配的子串。

split 把字符串分割为字符串数组。

我们可以利用这些属性和方法来定义一些检索的规则,定义一些强大的功能,熟练利用正则表达式,因为它是对字符串执行模式匹配的强大工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript正则表达式和Java正则表达式在语法上有一些差异,但是它们的基本概念和用法是相似的。下面是将JavaScript正则表达式转换为Java正则表达式的一些常见规则: 1. 语法差异: - JavaScript正则表达式使用斜杠(/)作为定界符,而Java正则表达式使用双引号(")作为定界符。 - JavaScript正则表达式中的特殊字符需要进行转义,而Java正则表达式中的特殊字符不需要转义。 2. 字符类: - JavaScript正则表达式中的字符类使用方括号([])表示,而Java正则表达式中使用方括号([])或者Unicode转义(\p{...})表示。 - JavaScript正则表达式中的字符类可以使用连字符(-)表示范围,而Java正则表达式中需要使用Unicode转义(\uXXXX)表示范围。 3. 量词: - JavaScript正则表达式中的量词使用花括号({})表示,而Java正则表达式中使用花括号({})或者问号(?)表示。 - JavaScript正则表达式中的贪婪量词默认是贪婪模式,而Java正则表达式中的贪婪量词需要在后面添加问号(?)来表示非贪婪模式。 4. 边界匹配: - JavaScript正则表达式中的边界匹配使用插入符号(^)和美元符号($)表示,而Java正则表达式中使用\A和\Z表示。 5. 其他差异: - JavaScript正则表达式中的捕获组使用圆括号(())表示,而Java正则表达式中使用圆括号(())或者方括号([])表示。 - JavaScript正则表达式中的反向引用使用反斜杠加数字(\1、\2等)表示,而Java正则表达式中使用美元符号加数字($1、$2等)表示。 以上是一些常见的JavaScript正则表达式转换为Java正则表达式的规则。具体转换时,还需要根据具体的正则表达式进行适当的调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值