关于正则表达式,我收集的一篇文章非常好且完整,但是我学得不好,哈哈。
该链接附在这里:https://blog.csdn.net/h610443955/article/details/81079439
(本文直接从本文中学到的示例和文本)
列表:
对象表格:
等效上述两个表达式。当以对象的形式创建时,收到两个参数,第一个是字符串,第二个是修饰符。在同一时间,当对象被创建常规时,两个需要为当需要使用公义时使用。
类似于逻辑操作中的“或”。
[]是垂直模糊的匹配。垂直模糊性是指规则匹配的字符串。当它特定于某个字符时,它可能不是某个字符,并且有多种可能性。
实现的方式是使用字符组。例如,这意味着字符可以是字符“ a”,“ b”,“ c”。
例如,您可以匹配以下三个字符串:“ A1B”,“ A2B”,“ A3B”。测试如下:
如上面的示例可以看出,它们都是惰性的,也就是说,它们在匹配后停止匹配。
排除角色组
在垂直模糊的匹配中,角色也可以是任何东西,但它不能是“ A”,“ B”,“ C”。
目前,这是字符群(反义词组)的概念。字符)表示反向的概念。
当然,还有一个相应的范围。
这是一个具有特殊含义的角色。
d [0-9]找到number.d [^0-9]找到非数字字符。]找到非字母数字的线[v [v [v [v
f]指示空白符号,包括空间,水平形式,垂直形式,变化线,海湾标记和页面[^ v
f] non -blank符号。传递符号,几乎指示任何字符。首先符号,输入,行分区和截面分区。使用且可以匹配所有字符。
水平的模糊性是指规则匹配的弦的长度不是固定的,并且在许多情况下可能是固定的。
实现的方式是使用量词。例如,这意味着连续有最小的m次,最多n次。
例如,这意味着第一个字符是“ A”,接下来的2至5个字符“ B”,最后是字符“ C”。测试如下:
{m}等同于m,表明m次出现。{m,}指示至少m次。{m,n}至少指示m次,最多n次。价格是等效的,表示是否表示。+等效,至少指示一次。*等效,表明任何时间出现,可能不会出现。
其中,常规/d {2,5}/,表明数字数量出现2至5次,它将匹配2、3、4和5连续数字。
但这很贪婪,它将尽可能匹配。如果您可以给我6,我想要5.您可以给我3,我想要3.在任何方面,只要有能力范围,越好。
我们知道有时候贪婪不是一件好事。惯性匹配尽可能少:
它指出,尽管它起作用1到3次,但如果1足够,则不会尝试一下。
通过在量化器背后添加问号以实现惯性匹配,所有惯性匹配情况如下:
匹配米
匹配米
0
1
0
G是全球搜索
我没有案件区分
m多行匹配的多行匹配仅影响线路的概念,即行的开始和行。
返回的阵列,但是在不添加装饰符号的情况下,装饰符号的返回值之间存在差异。没有添加。返回数组的第一个元素是总体匹配结果,然后将每个组的内容(在括号中)匹配。最后,输入文本。添加后,返回的数组都是匹配的结果。
正则表达式是匹配模式,要么匹配字符或匹配位置。
该位置是相邻字符之间的位置。例如,箭头指的是下图中的箭头:
在ES5中,有6个锚点:
ES6添加了两个新添加
(1) ^和$
(分配)匹配的开始,匹配多行匹配中匹配的开始。
(美元符号)匹配结局,与多行匹配中的匹配行的结尾匹配。
(2)B和B
它是单词的边界,它是相同的位置,包括相同的位置以及相同之间的位置。
它的意思是相反的,而不是单词的边界。例如,在字符串中的所有位置中,扣除,其余的剩下。
(3)(?= P)和(?!P),(?<=)和(?<!)
冒险等同于if语句
通常,它写在背面,表明它是否与以后的相符,并且匹配是匹配的(表示它是什么);通常写在正面,表明前部是否排队,匹配
通常,它写在后面,表明该判断是否存在,并且如果不排队(表明它不是以后的),则是匹配的;通常写在正面,表明前部是否排队,如果不排队,则匹配。
这意味着七位数字背后有四位数
6.1组
我们知道,匹配的“ A”连续出现,并且当有必要匹配连续的“ AB”时,我们需要使用它。
括号是分组函数,因此量词对整个“ AB”作用。测试如下:
6.2分支结构
在多选择分支结构中,这里的括号的作用也是自我的,提供了子表达的所有可能性。
例如,匹配以下字符串:
我爱javaScript
我喜欢雷格拉的表情
您可以常规使用:
如果卸下括号,也就是说,匹配的字符串是“我爱JavaScript”和“正则表达式”,当然,这不是我们想要的。
让我们看看我分享的文件,写作很详细。
正面是字符串的方法,但这是一种常规方法。
执行比匹配功能更强大。当没有规律性时,会返回更多信息。
该方法可以解决此问题。它可以继续与最后一场比赛相匹配:
常规实例属性指示下一场比赛的位置。
例如,“ 2017年”首次匹配,投标为0,总共4个字符,因此这次匹配的位置为3,下一个匹配位置为4。
从上述代码可以看出,使用时,通常有必要与循环合作:
修饰符G的影响,对Exex和测试的影响
常规实例的两种方法,当常规匹配是全球匹配时,每个匹配都将完成,并且将被修改。LET认为是一个例子,看看您是否会感到困惑:
请注意以上代码中的第三个调用,因为这次尝试从竞标开始,第三位置自然找不到。
如果没有,您自然会从字符串的0第0个字符开始尝试:
总体匹配时需要使用^和$
这相对容易理解,因为这取决于目标字符串中是否有一个子弦以匹配规则性,也就是说,有些匹配。
如果要匹配整个比赛,则需要定期和之后添加开始和结束:
对于复杂的字符串,我们可以定期使用以匹配。
原始:https://juejin.cn/post/7098337533209575460