如何正确地转义用于PHP正则表达式的字符串?

丹尼尔

我正在尝试转义要在PHP正则表达式中使用的字符串。到目前为止,我尝试了:

preg_quote(addslashes($string));

我认为我需要addslashes正确地考虑字符串中的所有引号。然后preg_quote转义正则表达式字符。

但是,问题在于引号使用反斜杠转义,例如\'但随后preg_quote用另一个斜线转义,例如\\'因此,这又使报价再次转义。切换这两个功能都不起作用,因为这会留下一个未转义的反斜杠,然后将其解释为特殊的正则表达式字符。

PHP中是否有完成任务的函数?还是会怎么做?

泡泡

正确的方法是使用preg_quote并指定使用的模式定界符

preg_quote()取str并在作为正则表达式语法一部分的每个字符前面加一个反斜杠...字符是: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

尝试使用反斜杠作为分隔符是一个坏主意。通常您选择一个字符,该字符未在模式中使用。常用的是斜杠 /pattern/波浪号 ~pattern~数字符号 #pattern#百分号 %pattern%也可以使用括号样式定界符:(pattern)

@CasimiretHippolyte和@anubhava在评论中提到的带有修改的正则表达式。

$pattern = '/(?<![a-z])' . preg_quote($string, "/") . '/i';

也许想使用\b 单词边界无需任何其他转义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在单引号和双引号PHP正则表达式模式中正确地转义反斜杠以匹配文字反斜杠

来自分类Dev

正则表达式,用于将Python多行字符串与转义字符进行匹配

来自分类Dev

正则表达式,用于将Python多行字符串与转义字符进行匹配

来自分类Dev

如何使用正则表达式删除转义序列(例如\“转义字符串\”)?

来自分类Dev

如何使用正则表达式删除转义序列(例如\“转义字符串\”)?

来自分类Dev

带有反斜杠的字符串的正则表达式用于转义

来自分类Dev

如何通过访问正则表达式字符串在VBA中转义字符

来自分类Dev

如何对正则表达式转义unicode字符串?

来自分类Dev

如何对正则表达式转义unicode字符串?

来自分类Dev

如何使用正则表达式转义字符串?

来自分类Dev

正则表达式,用于SimpleDateFormat字符串

来自分类Dev

用于验证字符串的正则表达式

来自分类Dev

用于字符串匹配的正则表达式

来自分类Dev

正则表达式用于解析字符串

来自分类Dev

正则表达式用于字符串替换

来自分类Dev

正确地剥离:正则表达式的字符

来自分类Dev

如何正则表达式匹配和正则表达式替换php中的字符串

来自分类Dev

Rpostgresql:正确地转义输入字符串

来自分类Dev

PHP正则表达式字符串替换

来自分类Dev

php之间的正则表达式字符串

来自分类Dev

正则表达式转义不转义由|分隔的子字符串

来自分类Dev

正则表达式用于在PHP中使用某些条件拆分字符串

来自分类Dev

PHP正则表达式用于模式,但不能以某些字符串开头

来自分类Dev

用于获取php字符串中[]之间内容的正则表达式

来自分类Dev

PHP正则表达式,用于查找丑陋的字符串中的令牌

来自分类Dev

用于突出显示字符串的 PHP 正则表达式

来自分类Dev

用于使用特定分隔符拆分字符串的php正则表达式

来自分类Dev

用于处理类似“test-12-1”的字符串的正则表达式 (php)

来自分类Dev

正则表达式,RegEx,用于验证php中的复杂字符串

Related 相关文章

  1. 1

    如何在单引号和双引号PHP正则表达式模式中正确地转义反斜杠以匹配文字反斜杠

  2. 2

    正则表达式,用于将Python多行字符串与转义字符进行匹配

  3. 3

    正则表达式,用于将Python多行字符串与转义字符进行匹配

  4. 4

    如何使用正则表达式删除转义序列(例如\“转义字符串\”)?

  5. 5

    如何使用正则表达式删除转义序列(例如\“转义字符串\”)?

  6. 6

    带有反斜杠的字符串的正则表达式用于转义

  7. 7

    如何通过访问正则表达式字符串在VBA中转义字符

  8. 8

    如何对正则表达式转义unicode字符串?

  9. 9

    如何对正则表达式转义unicode字符串?

  10. 10

    如何使用正则表达式转义字符串?

  11. 11

    正则表达式,用于SimpleDateFormat字符串

  12. 12

    用于验证字符串的正则表达式

  13. 13

    用于字符串匹配的正则表达式

  14. 14

    正则表达式用于解析字符串

  15. 15

    正则表达式用于字符串替换

  16. 16

    正确地剥离:正则表达式的字符

  17. 17

    如何正则表达式匹配和正则表达式替换php中的字符串

  18. 18

    Rpostgresql:正确地转义输入字符串

  19. 19

    PHP正则表达式字符串替换

  20. 20

    php之间的正则表达式字符串

  21. 21

    正则表达式转义不转义由|分隔的子字符串

  22. 22

    正则表达式用于在PHP中使用某些条件拆分字符串

  23. 23

    PHP正则表达式用于模式,但不能以某些字符串开头

  24. 24

    用于获取php字符串中[]之间内容的正则表达式

  25. 25

    PHP正则表达式,用于查找丑陋的字符串中的令牌

  26. 26

    用于突出显示字符串的 PHP 正则表达式

  27. 27

    用于使用特定分隔符拆分字符串的php正则表达式

  28. 28

    用于处理类似“test-12-1”的字符串的正则表达式 (php)

  29. 29

    正则表达式,RegEx,用于验证php中的复杂字符串

热门标签

归档