文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JS中正则表达式全局匹配正斜杠的方法是什么

2023-07-05 07:49

关注

这篇“JS中正则表达式全局匹配正斜杠的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JS中正则表达式全局匹配正斜杠的方法是什么”文章吧。

JS中正则表达式全局匹配正斜杠

正则表达式

语法:

必须写在两个反斜线之间 / 要匹配的规定/;

列如: var 变量名 = / 要匹配的规定/;

开头以 ^ 这个符号开头表示以什么开头

列如:/^1/ 表示以1开头

结尾以 $ 符号结束表示以什么结束

列如:/ 0$/ 以0结束

正则表达式后面跟字母的:

列如:/ /i; 不区分大小写

列如:/ / g 执行全局匹配

修饰词:

i 大小写不敏感 (不区分大小写)

g 全局匹配

m 多 行匹配

5. w

w 反斜杠w的 (w是小写)是匹配字母数字下划线,不包括

换行符

W 反斜杠w (w是大写)匹配除了字母数字下划线以外的

包括换行符在内

d

d (小写d)代表数字

D (大写)带表非数字

{x,Y}

{X,Y}x代表最少能有几个 Y代表最大能有几个;

[0-9]

[0-9] 代表只能输入0到9的的数字

但是列如:

要匹配的东西: linx

正则式:lin[^ux]x

它是匹配不到linx的 但是可以匹配到lin x;

也就是说中间那一位必须有一个字符哪怕是空格

这里要注意: [^0-9] 中括号里面写^是除掉里面的东西

如果^写在外面则是以什么结尾

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

search

var str="hellow word333333"

document.write(str.search(/world/))

它会返回数字 7

replace 替换与正则表达式匹配的字符串

replace('X','Y') X为要替换的内容 Y为将要替换上去的内容

var str="hellow word"

document.write(str.replace('word','ddd'))

结果输出为:hellow ddd

split 把字符串分割为数组

var str="hellow word333333"

document.write(str.split('o'))

结果输出:hell,w w,rd333333

语法:

正则表达式.test(要效验的值)

正则式可以给了一个变量

要效验的值也可以给了一个变量

补充:正则表达式如何匹配正反斜杠

反斜杠的麻烦

在早期规定中,正则表达式用反斜杠字符 ("\") 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突。

让我们举例说明,你想写一个 RE 以匹配字符串 "\section",可能是在一个 LATEX 文件查找。为了要在程序代码中判断,首先要写出想要匹配的字符串。接下来你需要在所有反斜杠和其它元字符前加反斜杠来取消其特殊意义,结果要匹配的字符串就成了"\\section"。 当把这个字符串传递给re.compile()时必须还是"\\section"。然而,作为Python的字符串实值(string literals)来表示的话,"\\section"中两个反斜杠还要再次取消特殊意义,最后结果就变成了"\\\\section"。

字符阶段
\section要匹配的字符串
\\section为 re.compile 取消反斜杠的特殊意义
"\\\\section"为"\\section"的字符串实值(string literals)取消反斜杠的特殊意义

简单地说,为了匹配一个反斜杠,不得不在 RE 字符串中写 '\\\\',因为正则表达式中必须是 "\\",而每个反斜杠在常规的 Python 字符串实值中必须表示成 "\\"。在 REs 中反斜杠的这个重复特性会导致大量重复的反斜杠,而且所生成的字符串也很难懂

解决的办法就是为正则表达式使用 Python 的 raw 字符串表示;在字符串前加个 "r" 反斜杠就不会被任何特殊方式处理,所以 r"\n" 就是包含"\" 和 "n" 的两个字符,而 "\n" 则是一个字符,表示一个换行。正则表达式通常在 Python 代码中都是用这种 raw 字符串表示。

常规字符串Raw 字符串
"ab*"r"ab*"
"\\\\section"r"\\section"
"\\w+\\s+\\1"r"\w+\s+\1"

执行匹配

一旦你有了已经编译了的正则表达式的对象,你要用它做什么呢?`RegexObject` 实例有一些方法和属性。这里只显示了最重要的几个,如果要看完整的列表请查阅 Python Library Reference

方法/属性作用
match()决定 RE 是否在字符串刚开始的位置匹配
search()扫描字符串,找到这个 RE 匹配的位置
findall()找到 RE 匹配的所有子串,并把它们作为一个列表返回
finditer()找到 RE 匹配的所有子串,并把它们作为一个迭代器返回

如果没有匹配到的话,match() 和 search() 将返回 None。如果成功的话,就会返回一个 `MatchObject` 实例,其中有这次匹配的信息:它是从哪里开始和结束,它所匹配的子串等等。

以上就是关于“JS中正则表达式全局匹配正斜杠的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯