与属性名称中的属性单位匹配的正则表达式,包括特殊字符

直到

我对使用正则表达式还很陌生,但是我一直想解决一个问题。我在了解正在发生的事情方面遇到问题,希望有人可以向我提示正确的方向。

我想要达到的目标:

为避免视图中出现重复项,我想检查属性名称是否包含相应的属性单元。例如,if$attribute['name'] = "Cutting speed (in m/Min.)"attribute['unit'] = "m/min"属性单元不应显示,因为名称中已经提到了它。

我如何实现这一目标:

我正在使用以下正则表达式来检查属性单元:~\b' . attribute['unit'] . '\b~i'在上面提到的示例中,该方法很好用,但是如果该单元是一个特殊字符(例如%或)"则效果不是很好

问题所在

在测试特殊字符问题时,我遇到了以下现象:

如果我使用此正则表达式,则/\b%\b/它的行为与预期不符,并且与%in匹配bla%blain匹配而不是在%它前面或后面带有空格:https : //regex101.com/r/56iYEI/3

似乎%将正则表达式的行为改为相反的行为。我还测试了其他“特殊字符”(“和&”),它们似乎具有相同的效果。

之前,我被定向到这个问题(正则表达式单词边界和特殊字符)并阅读了答案。我现在知道可以\b检查单词边界。但是我仍然不清楚为什么它会像a%"出现时那样表现。

问题

  1. 如此%轮流检查单词边界\b如何?
  2. 如何实现我的目标以匹配字母数字单位以及特殊字符单位(例如%或)"

期待任何提示。提前致谢!

阿诺德·丹尼尔斯

断字是一串字字符和一串非字字符(或开始或结束)之间的点。非单词字符不必是空格。

 foo"@#bar {}qux

在这个字符串的话休息是前,后foobarqux

该表达式/\b"@#\b/将匹配foo之间的字符bar但是/\b"@\b/不会,因为后面没有单词(因此没有单词中断)@


要解决此问题,请检查一个分词符或一个非单词字符。以下表达式匹配两种情况;/(^|\W|\b)"@($|\W|\b)/

'~(^|\W|\b)' . attribute['unit'] . '($|\W|\b)~i'

PS如果attribute['unit']可以包含任何字符,请确保在使用regex之前将其引用preg_quote()

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式匹配 HTML 属性名称

来自分类Dev

正则表达式,包括特殊字符

来自分类Dev

正则表达式匹配字符串中重复的属性值

来自分类Dev

正则表达式与特殊字符元字符匹配

来自分类Dev

使用正则表达式删除属性。只是属性值包含特殊字符“ <”

来自分类Dev

正则表达式匹配任何字符,包括空格

来自分类Dev

正则表达式匹配(包括)之间的任何字符{}

来自分类Dev

如何使用正则表达式和Python将名称与可能的特殊字符匹配?

来自分类Dev

Perl正则表达式以匹配特殊字符

来自分类Dev

正则表达式与特殊字符组匹配

来自分类Dev

正则表达式以匹配特殊字符+数字

来自分类Dev

将特殊字符与正则表达式匹配

来自分类Dev

Java正则表达式以匹配特定的特殊字符

来自分类Dev

Python 正则表达式匹配特殊字符

来自分类Dev

正则表达式,从具有特殊名称的HTML中提取href属性

来自分类Dev

Perl:转义字符串中的特殊字符以匹配正则表达式

来自分类Dev

正则表达式Perl中的特殊行匹配

来自分类Dev

用Objective-C中的图像替换属性字符串中的正则表达式匹配

来自分类Dev

向与正则表达式匹配的链接添加属性

来自分类Dev

正则表达式HTML属性的多个匹配项

来自分类Dev

JavaScript正则表达式替换宽度属性匹配

来自分类Dev

JavaScript正则表达式替换宽度属性匹配

来自分类Dev

正则表达式匹配HTML标签和属性

来自分类Dev

向与正则表达式匹配的链接添加属性

来自分类Dev

如何匹配包含正则表达式中特殊字符的整个单词

来自分类Dev

匹配Javascript中的特殊字符正则表达式(任意位置)

来自分类Dev

正则表达式用于匹配VBA中包含特殊字符的整个单词

来自分类Dev

正则表达式:匹配列表中的所有单词,忽略特殊字符

来自分类Dev

排除正则表达式匹配组中的特殊字符

Related 相关文章

  1. 1

    正则表达式匹配 HTML 属性名称

  2. 2

    正则表达式,包括特殊字符

  3. 3

    正则表达式匹配字符串中重复的属性值

  4. 4

    正则表达式与特殊字符元字符匹配

  5. 5

    使用正则表达式删除属性。只是属性值包含特殊字符“ <”

  6. 6

    正则表达式匹配任何字符,包括空格

  7. 7

    正则表达式匹配(包括)之间的任何字符{}

  8. 8

    如何使用正则表达式和Python将名称与可能的特殊字符匹配?

  9. 9

    Perl正则表达式以匹配特殊字符

  10. 10

    正则表达式与特殊字符组匹配

  11. 11

    正则表达式以匹配特殊字符+数字

  12. 12

    将特殊字符与正则表达式匹配

  13. 13

    Java正则表达式以匹配特定的特殊字符

  14. 14

    Python 正则表达式匹配特殊字符

  15. 15

    正则表达式,从具有特殊名称的HTML中提取href属性

  16. 16

    Perl:转义字符串中的特殊字符以匹配正则表达式

  17. 17

    正则表达式Perl中的特殊行匹配

  18. 18

    用Objective-C中的图像替换属性字符串中的正则表达式匹配

  19. 19

    向与正则表达式匹配的链接添加属性

  20. 20

    正则表达式HTML属性的多个匹配项

  21. 21

    JavaScript正则表达式替换宽度属性匹配

  22. 22

    JavaScript正则表达式替换宽度属性匹配

  23. 23

    正则表达式匹配HTML标签和属性

  24. 24

    向与正则表达式匹配的链接添加属性

  25. 25

    如何匹配包含正则表达式中特殊字符的整个单词

  26. 26

    匹配Javascript中的特殊字符正则表达式(任意位置)

  27. 27

    正则表达式用于匹配VBA中包含特殊字符的整个单词

  28. 28

    正则表达式:匹配列表中的所有单词,忽略特殊字符

  29. 29

    排除正则表达式匹配组中的特殊字符

热门标签

归档