【问题标题】:Matching a string with regex?用正则表达式匹配字符串?
【发布时间】:2015-02-07 11:22:09
【问题描述】:

我希望在正则表达式中为 cpanel 过滤器匹配几个完整的字符串,但似乎无法正常工作。

无论字符串在哪里,我都想匹配它,即使它是嵌入的或像这样的奇怪外壳。嵌入STRiNg嵌入

例如此字符串:要将此电子邮件作为网页查看,请单击此处

[Tt]o view this email as a web page, click here.*?

但这不起作用。

我不想锚定它,因为它可能不在句子的开头,我只想匹配它,无论它在哪里或如何写。

谢谢。

【问题讨论】:

  • 它正在工作regex101.com/r/wX9fR1/5
  • "或者像这样的奇怪外壳.. embedSTriNgembed" - 我遇到的问题是 cpanel 过滤器。当我将上述正则表达式与 /ig 一起使用以不区分大小写时,它不起作用。还有其他不区分大小写的方法吗?
  • (?i) 放在正则表达式的开头
  • 您说的是查找不区分大小写的字符串,但您的示例是查找单个字符。使您的问题稍微令人困惑,因为您似乎已经发布了一个可行的解决方案。您能否发布您的实际正则表达式,以便我们了解它发生了什么?
  • 无论如何,这适用于特定字符串[SsTtRrIiNnGg]

标签: regex pattern-matching match cpanel


【解决方案1】:

您可以通过两种不同的方式添加不区分大小写的修饰符。

  1. /regex/i 我们可以通过在正则表达式分隔符旁边添加相应的字母来添加不区分大小写或任何其他修饰符。在某些语言中,我们需要将其添加为单独的参数,例如 python 中的re.IGNORECASE 等。

  2. 我们还可以通过在正则表达式的开头添加(?i) 来在正则表达式本身上添加修饰符。您可以在这些括号内包含更多数量的修饰符,例如 (?im)

【讨论】: