正则表达式:匹配不遵循模式的特殊字符

时间:2019-05-14 09:32:35

标签: regex

是否可以在不遵循特定模式的正则表达式中匹配特殊字符?

尤其是我有一个文本,其中我需要转义所有不带$ some_text $模式的$字符,因为后者表示一个变量。

正则表达式以匹配模式$ some_text $:

(\$[a-zA-Z_-]+\$)

想法:

  1. 匹配除上述模式以外的所有内容
  2. 该结果中,匹配所有$个字符

我不确定1.是否可以实现,因为我的负向后望的想法需要固定的长度。

语言是Java

1 个答案:

答案 0 :(得分:-1)

正则表达式不适用于此任务

您打算如何匹配$ abc $ def $?这会导致\ $ abc $ def $或$ abc $ efg \ $吗?

第二个问题是,您试图匹配$符号的平衡对,因此regexp不是一个好的解决方案,因为它是匹配符号对或平衡括号对的一种较差的机制。

基于这个原因,我想说,您的问题的答案是您不能。不过,在Regular expression to match balanced parentheses的答案中仍有有用的链接。

了解您使用的编程语言以建议可行的解决方案将很有用。