专门为初学者编写的正则表达式入门教程

2020-05-10 20:00:16王振洲

/#[0-9A-F]{6}/g

这里,标记 {6} 应用于字符集 [0-9A-F]。

7.5 最小次和最大次之间

如果我们希望在最小次和最大次之间匹配一个特定标记,可以在这个标记后添加 {min,max}

/a{2,4}/g

警告

{min,max} 中逗号后面不要有空格。

7.6 最少 x 次

如果我们希望匹配一个特定的标记最少 x 次,可以在标记后添加 {x,}。 和 {min, max} 类似,只是没有上限了。

/a{2,}/g

7.7 贪婪模式的注意事项

正则表达式默认使用贪婪模式。在贪婪模式下,会尽可能多的匹配符合要求的字符。

/a*/g

/".*"/g

在**重复操作符(?,*,+,...)**后面添加 ,可以让匹配变“懒”。

/".*?"/g

在这里,这也可以通过使用[^"]代替。(这是最好的做法)。

/"[^"]*"/g

懒惰,意味着只要条件满足,就立即停止;但贪婪意味着只有条件不再满足才停止。

-Andrew S on StackOverflow

/<.+>/g

/<.+?>/g

7.8 例子

比特币地址

/([13][a-km-zA-HJ-NP-Z0-9]{26,33})/g (思考: {26,33}?呢)

Youtube 视频

/(?:https?://)?(?:www.)?youtube.com/watch?.*?v=([^&s]+).*/gm

我们可以使用锚点调整表达式不让它匹配最后一个不正确的链接,之后我们会接触到。

8 交替

交替允许匹配几个短语中的一个。这比仅限于单个字符的字符组更加强大。