java - 如何匹配具有()或(任何字符)java的字符串

标签 java regex parentheses

我需要一个可以匹配作为方法的单词的正则表达式,例如:

Project.name.toUpper().toBase64()

匹配:toUpper()toBase64()

Project.name.toLower(1)

匹配:toLower(1)

我已经有了这个,但它只匹配第一个找到的 (toUpper()) 在:项目.name.toUpper().toBase64()

Pattern patternParenthesis = Pattern.compile("\\(([^)]+)*[)()]*");

最佳答案

你可以这样做:

([^.(]+\([^)]*\))
  • [^.(]+ 匹配一个或多个字符直到下一个 .(

  • \([^)]*\) 匹配文字 ( 然后是下一个 之前的任何字符)

    /li>

Demo

关于java - 如何匹配具有()或(任何字符)java的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060280/

相关文章:

java - java中的集合map和HashMap

java - 如何仅将来电铃声静音而不将短信静音

java - Android MediaPlayer - 切换到下一首歌曲

regex - Excel VBA + 正则表达式

javascript - 尝试使用表单登录时 PHP 重定向到错误的 URL

haskell - 删除 haskell 语句中的括号

mysql - 顺序为 "and"和 "or"的对象列表查询的子条件

c++ - 在 C++ 中使用堆栈模板类解析括号

java - 使用 .NET 创建复制 Java 代码的 Base 64 字节数组

python - 基于正则表达式将列表的结构化元素索引到字典中