java - 如何将正则表达式与行尾匹配?

标签 java regex

我正在尝试编写一个执行以下操作的正则表达式: - 查找至少一个 =,并将这些 = 一直到 1) 行尾,或 2) 一个点 .

正则表达式:

[=]+?[=]+.*?[.$]+

测试字符串:

b == 123 //does not match, but which should as it is end of line!
b == 123. //does match "== 123.", which is OK
b == 123.abc //does match "== 123.", which is OK

我在 endofline $ anchor 中缺少什么?

最佳答案

[.$] 表示 character class由点或美元符号组成。如果您想要正则表达式元素之间的替代品 you should use | ,即 (\.|$)

此外,您可以使用 negative character classes [^…] 而不是 lazy matching ...*?:

([^=]+)=+([^.]+)(?:\.|$)

关于java - 如何将正则表达式与行尾匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16234390/

相关文章:

python - 如何在Python中打破pandas数据框,其中行包含</s> </s>

r - 如何根据给定字符的一次或多次出现来拆分字符串?

java - 替换字符串中特定位置的字符

regex - 如果后跟小写,则 Sublime 正则表达式更改\n 为空格

java - 使用 Indy 和 Delphi 发送一个 JSON 编码的对象

java - 如果线程实际上 hibernate 时间太长,是否可以跳过后续的 sleep() ?

java - 处理线程池中的优先级

java - 在Java中有什么方法可以共享内存位置来交换一些实时小数据包?

c# - 用特殊字符匹配整个单词的正则表达式不起作用?

java - 声音不会从 jar 中播放,但只有当我从 NetBeans 运行它时才播放。 (Javazoom播放器)