You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
functiontitleize(str){returnstr.toLowerCase().replace(/(?:^|\s)\w/g,function(c){returnc.toUpperCase();});}console.log(titleize('my name is epeli'));// => "My Name Is Epeli"
创建正则的两种方式
1.创建RegExp对象
2.创建正则表达式字面量
两种创建方式的区别有两点:
1.创建RegExp对象的方法,可以创建动态正则
2.创建RegExp对象的方法,需要对特殊字符做转义处理
search() 和indexOf方法的返回跟判断完全一致,可以写正则,indexOf不可以
字符串对象共有4个方法,可以使用正则表达式:match()、replace()、search()和split(),test()
正则其实只匹配字符和位置,这句话就概括了正则的精髓。
修饰符
g 表示全局匹配
i 表示不区分大小写
m 表示多行匹配
这里只列举常用的,更多请查询MDN
特殊字符
有些不好理解,所以配合案例
而\B呢,当然就和\b相反了,具体就是\w 与 \w、 \W 与 \W、^ 与 \W,\W 与 $ 之间的位置。
分组后面有量词的话,分组最终捕获到的数据是最后一次的匹配。
如果只想要括号最原始的功能,但不会引用它,即,既不在 API 里引用,也不在正则里反向引用。 此时可以使用非捕获括号 (?:p)
写到\10分组的时候,想写一个、\1后跟字符0怎么写?
\10 分组
展示为\1 和0的写法 \1(?:0)
方法调用后的特殊字符
这里只列举常用的,更多请查询MDN
描述数量的特殊字符前面必须跟有效的字符(没字符的话描述谁的数量呢)
?不光表示数量特殊字符,还可以表示惰性匹配,跟在数量特殊字符的后面。
字符串对象共有4个方法,可以使用正则表达式:match()、replace()、search()和split()。
test()方法用于正则表达式,有匹配项就返回true
// 以上实例用作多次,不再赘述。
数字的千位分隔符表示法(比如把 "12345678",变成 "12,345,678")
匹配标签
实体字符转换为等值的HTML。
将HTML特殊字符转换成等值的实体
将单词的首字符转换为大写
驼峰化
中划线化
实现模板引擎
《JavaScript正则迷你书》链接
https://pan.baidu.com/s/1J_sVhmgZ94qXTr5c4hAItQ
4ki3
The text was updated successfully, but these errors were encountered: