正则常见技巧

1. 非贪婪匹配 默认情况下,正则表达式是“贪婪”的,这意味着它们会尽可能匹配更多的字符。 示例: <div>这是内容1</div><div>这是内容2</div> 贪婪匹配:使用&lt...
1. 非贪婪匹配
默认情况下,正则表达式是“贪婪”的,这意味着它们会尽可能匹配更多的字符。

示例:
<div>这是内容1</div><div>这是内容2</div>
贪婪匹配:使用<div>.*</div>将匹配整个文本,因为.和*会尽量匹配更多的内容。

非贪婪匹配:使用<div>.*?</div>,这将仅匹配<div>这是内容1</div>。

2. 正向和反向前视断言
有时,我们想要匹配一个字符串,但只有在它前面或后面是(或不是)另一个特定字符串时。

示例:在以下文本中匹配一个不在引号内的数字:
"123" 456 "789"
正向前视断言:使用\d+(?=")匹配数字,只有当其后是引号时。这将匹配123和789

反向前视断言:使用(?<!")\d+匹配数字,只有当其前不是引号时。这将匹配456。

3. 命名捕获组
捕获组允许我们从匹配的文本中提取部分内容,但当有多个捕获组时,记住它们的顺序可能很麻烦。

示例:在以下文本中匹配日期并提取年、月、日:
2023-10-07
命名捕获组:使用(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})。这将匹配整个日期,并将2023、10、和07分别捕获到名为year、month、和day的组中。


  • 发表于 2023-10-09 09:12
  • 阅读 ( 591 )
  • 分类:其他

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
xun
xun

电路元件工程师

82 篇文章

作家榜 »

  1. omicsgene 698 文章
  2. 安生水 347 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 74 文章
  8. CORNERSTONE 72 文章