从js中的正则表达式开始

正则表达式可以通过逻辑过滤获取字符串中特定的部分。
RegExp

创建方式:1. var reg=/ /;
2.var reg=new RegExp( ) 构造函数
当 var reg1=RegExp(reg)时,reg1为reg相同形式的不同引用。
当 var reg1=new RegExp(reg)时,两者指向不同地址,互相独立。

修饰符; i/g/m
其中m重点记述:m为多行匹配功能。例:
var reg=/^a/gm;
var str=“abcde\na”;
可以匹配两个a。

方括号[ ]:查找位于方括号范围内的字符
| 表示正则表达式中的或

元字符:(\w\W)样式可以代表全部
\w : 0-9 A-z _
\d: 查找数字
\s: 查找空白字符,\n \f \r \t \v (非视觉,真实存在的)
\b: 匹配单词边界
. : 除了换行和行结束符
补充:unicode编码:四位unicode编码和六位unicode编码
前两位代表层数,目前共16层unico编码。

量词:满足贪婪匹配原则。
n+*?:前方的字符乘量词,不先匹配。
区间:{X}{X, }{X,Y}
开头和结尾^ 和$
检验一个字符串首尾是否含有数字:
var reg=/^\d|\d$/
首尾皆含有数字:
var reg=/^ \ d[ \ s\ S] $/

对象方法:
reg.exec( )和reg.lastindex: 存在疑问
全局匹配下从第0位开始向后匹配,游标开始变化,lastindex可以改变游标位置。

反向引用:
\w(1)(1)➡aaa型内容
\w(1)\w(2)➡aabb型内容

replace方法:
var str=“aa”;
str.replace( a,b ); 结果为ba
利用正则表达式可以实现全局改变
var reg=/a/g;
var str=“aa”;
str.replace( reg,b ); ,结果为bb

将aabb型的变换成bbaa形式
var reg=/\w\1\w\2/g;
var str=“aabb”;
str.replace(reg. function($ $1 $2 ){
return $2+$2+$1+$1;
}));

将 the-first-name变为小驼峰式写法
var reg=/-(\w)/g;
var str=“the-first-name”;
str.replace(reg., function($ $1 ){
return $1.toUpperCase;
}));

补充:
正向预查:?=n 和?!n
取消贪婪匹配:加问号。
$有语法含义,想替换成的话先加一个。
?+等符号应加转义字符。
字符串去重:/(\w)\1*/g
替换为$1即可。

例题:将一个数字用科学计数法表示,每隔三位打一个点。
var str=100000000;
var reg=/(?=(\B)(\d{3})+$)/g;
str.replace(reg,.);

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、付费专栏及课程。

余额充值