gpt4 book ai didi

regex - 正则表达式问题

转载 作者:行者123 更新时间:2023-12-01 09:33:27 26 4
gpt4 key购买 nike

下面的 reg ex 代码是什么意思?

'/^\w{4,20}$/'

最佳答案

这意味着字符串应包含 4 到 20 个单词字符(字母、数字和下划线)。这里:

  • ^(脱字符号)匹配应用正则表达式模式的字符串的开头。匹配位置而不是字符。大多数正则表达式风格都可以选择在换行符后(即在文件中一行的开头)匹配插入符号
  • $(美元)匹配应用正则表达式模式的字符串的末尾。匹配位置而不是字符。大多数正则表达式风格都可以选择在换行符之前(即文件中一行的末尾)匹配美元。如果字符串以换行符结尾,则也在最后一个换行符之前匹配
  • \w 速记字符类匹配单词字符(字母、数字和下划线)。可以在字符类内部和外部使用。
  • {n,m} 其中 n >= 0m >= n 在 n 到 m 次之间重复前一项。贪心,所以重复 m 次,然后将重复次数减少到 n 次

让我向您展示一个用法示例。比如说,我们有包含以下内容的文件:

[spongebob@conductor /tmp]$ cat file.txt
between4and20
therearetoomanyalphanumcharacters
foo
okay

现在您只想获取那些与您的模式匹配的字符串'/^\w{4,20}$/':

[spongebob@conductor /tmp]$ grep -E '^\w{4,20}$' blah
between4and20
okay

在输出中,您只会看到满足您的正则表达式的那些行。

啊,还有,不要把 ^ (caret) 和 ^ 混淆了 [ 开头,后者否定字符类,导致它匹配字符类中未列出的单个字符。 (如果放置在开头 [ 之后的任何位置,则指定插入符号),例如 [^a-d] 匹配 x(除 a 之外的任何字符,b, cd).

关于regex - 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com