java正则表达式直到某些单词/文本/字符

标签 java regex

请考虑以下文字:

That is, it matches at any position that has a non-word character to the left of it, and a word character to the right of it.

如何获得以下结果:

That is, it matches at any position that has a non-word character to the 

这就是离开之前的一切

最佳答案

input.replace("^(.*?)\\bleft.*$", "$1");
  • ^ 锚定到字符串的开头
  • .*? 尽可能少地匹配任何字符
  • \b 匹配单词边界
  • left 匹配字符串文字 "left"
  • .* 匹配字符串的其余部分
  • $ 锚定到字符串末尾
  • $1 将匹配的字符串替换为 () 中的组 1

如果您想使用任何单词(不仅仅是“left”),请小心转义它。您可以使用 Pattern.quote(word) 对字符串进行转义。

关于java正则表达式直到某些单词/文本/字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4775898/

相关文章:

java - 有没有什么可以索引java源代码,但也包括来自编译的字节码的信息?

regex - grep 的管道不适用于尾部?

javascript - 为什么条件在javascript中总是为真?

java - 在 Eclipse 中调试时查看设置变量值的位置

java - 关闭对话框后如何从对话框中获取数据?

java - if/else 语句在 android 应用程序中不起作用(else 语句始终执行)

java - 字符串上的正则表达式,用于匹配和匹配,无论顺序如何

ruby - 如何使用要在倒排索引中使用的正则表达式匹配 Ruby 中的多行字符串?

java - Java 正则表达式的 StackOverFlow 错误

java - 限制CPU使用的线程数