java - 如何排除模式匹配中的字符?

标签 java regex

在示例字符串“a f e $s $a”中,我想匹配所有不带前置“$”字符的字符。

我尝试使用否定前瞻:

"(?!\\$)[a-z]"

但它也匹配 $s$a。我做错了什么?

最佳答案

这是一个lookahead断言,这意味着它将匹配任何不是美元符号的字母,也就是说,所有字母:)

你需要回顾一下:

"(?<!\\$)[a-z]"

关于java - 如何排除模式匹配中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211785/

相关文章:

java - 如何调用具有泛型类型的 LinkedList

java - 具有嵌套值的 JSON 到 POJO

java - onstructor Sort(String[][], 11, 12);"在 junit 中未定义

php - 正则表达式 - 忽略引号内的转义字符

Python Regex : How do I use regular expression to read in a file with multiple lines, 并从每一行中提取单词以创建两个不同的列表

java - java中如何将给定的日期转换为年,月,日

java - GPS 中的位置跟踪功能不起作用

java - 正则表达式:在Java中分割复杂列表(两列)

javascript - Javascript 中的单词边界匹配

javascript -/PM 用于在聊天室发送消息的正则表达式语法