Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式来查找方法';s的论点_Java_Regex - Fatal编程技术网

Java正则表达式来查找方法';s的论点

Java正则表达式来查找方法';s的论点,java,regex,Java,Regex,我试图找到一个正则表达式来拆分对方法的调用 boo(a,b), c 所以它会回来 boo(a,b) 及 在被它分开之后。 可以用正则表达式来做吗? 谢谢。常规语言不能表示递归。当您意识到解决方案将涉及递归时,不可能在“纯”正则表达式引擎中表达这一点(实际上,大多数正则表达式引擎都有某种扩展,允许有限地违反此规则) 既然您是在Java上下文中编写的,为什么不使用nice编程语言来执行这个相当简单的字符串操作,而不是尝试将正则表达式转换到解决方案中呢?:) 常规语言不能表示递归。当您意识到解决方

我试图找到一个正则表达式来拆分对方法的调用

boo(a,b), c
所以它会回来

boo(a,b)

在被它分开之后。 可以用正则表达式来做吗?
谢谢。

常规语言不能表示递归。当您意识到解决方案将涉及递归时,不可能在“纯”正则表达式引擎中表达这一点(实际上,大多数正则表达式引擎都有某种扩展,允许有限地违反此规则)


既然您是在Java上下文中编写的,为什么不使用nice编程语言来执行这个相当简单的字符串操作,而不是尝试将正则表达式转换到解决方案中呢?:)

常规语言不能表示递归。当您意识到解决方案将涉及递归时,不可能在“纯”正则表达式引擎中表达这一点(实际上,大多数正则表达式引擎都有某种扩展,允许有限地违反此规则)


既然您是在Java上下文中编写的,为什么不使用nice编程语言来执行这个相当简单的字符串操作,而不是尝试将正则表达式转换到解决方案中呢?:)

关于你的问题,我不确定你到底想要什么,但在给定的情况下:

"boo(a,b), c".split("(?<=\\)),") //look for a ',' preceeded by ')'
(?!(\\w\\p{Punct}?+\\)
表示如果匹配后跟(一个单词和一个或零标点符号)n次,并且右括号,则不接受该匹配


结果是一个数组,其中包含
[“boo(a(a,b),b)”,“c”]

我不确定您真正想要的是什么,但对于给定的情况:

"boo(a,b), c".split("(?<=\\)),") //look for a ',' preceeded by ')'
(?!(\\w\\p{Punct}?+\\)
表示如果匹配后跟(一个单词和一个或零标点符号)n次,并且右括号,则不接受该匹配


结果是一个数组包含
[“boo(a(a,b),b)”,“c”]

只需查找
),
,在这之前是方法,之后是额外的内容?您是在查看纯文本、
.class
文件,还是在读取它?问题是它必须是递归的。i、 e boo(a(a,b),b),c应该被“,”分开,在c之前,只找到“最高级别”,字符串是从文件中读取的,经过处理并在字符串对象中。如果是这样的话,你应该尝试通过
堆栈
@Lablabla对其进行解析,你可能应该编辑你的帖子,因为你没有提到任何此类内容。还有,你怎么能让一个方法调用看起来像这样呢?只要找到
),
,在这之前是方法,之后是额外的东西?你是在看纯文本,
.class
文件,还是在读它?问题是它必须是递归的。i、 e boo(a(a,b),b),c应该被“,”分开,在c之前,只找到“最高级别”,字符串是从文件中读取的,经过处理并在字符串对象中。如果是这样的话,你应该尝试通过
堆栈
@Lablabla对其进行解析,你可能应该编辑你的帖子,因为你没有提到任何此类内容。另外,你怎么能让一个方法调用看起来像这样呢?+1,对于这种清晰的方法。是否在正则表达式中执行是另一回事。这是一个关于正则表达式的问题。我们可以使用其他方法,但是因为家庭作业都是关于正则表达式的,如果可能的话,我更愿意这样做(尽管我认为如果你强调你是为了教育目的专门考虑正则表达式,而不是仅仅认为它是解决这个问题的一种实用方法,这个问题会更好)。虽然我坚持我的答案——严格地说,你不能用正则表达式来实现,但我相信Java的正则表达式引擎有办法解决这个问题。我让其他人来指出这可能是什么!在这个家庭作业中,“不”可能是正确的答案。是否在正则表达式中执行是另一回事。这是一个关于正则表达式的问题。我们可以使用其他方法,但是因为家庭作业都是关于正则表达式的,如果可能的话,我更愿意这样做(尽管我认为如果你强调你是为了教育目的专门考虑正则表达式,而不是仅仅认为它是解决这个问题的一种实用方法,这个问题会更好)。虽然我坚持我的答案——严格地说,你不能用正则表达式来实现,但我相信Java的正则表达式引擎有办法解决这个问题。我让其他人来指出这可能是什么!在这个家庭作业中,“不”可能是正确的答案。
"boo(a(a,b),b),c".split("(?<=\\)),(?!(\\w\\p{Punct}?)+\\))")