Java中的正则表达式获取字符串的一部分

用户代码2014

我在Java中遇到了正则表达式问题。我正在尝试捕获两个部分之间的字符串的中心部分:

function gH(a){a=a.split("");

return a.join("")};

问题在于字符串的中心始终在变化。还有函数的名称。

这是一个例子:

;function gH(a){a=a.split("");fH.vF(a,36);fH.DZ(a,42);fH.kG(a,1);fH.vF(a,23);fH.DZ(a,29);fH.vF(a,41);fH.DZ(a,2);fH.kG(a,2);fH.vF(a,17);return a.join("")};

我想要的部分是:

fH.vF(a,36);fH.DZ(a,42);fH.kG(a,1);fH.vF(a,23);fH.DZ(a,29);fH.vF(a,41);fH.DZ(a,2);fH.kG(a,2);fH.vF(a,17);

这是我的代码:

pattern = ";function ..\\(a\\){a=a\\.split\\(\"\"\\);(.*?);return a\\.join\\(\"\"\\)};";//;return a\\.join\\(\"\"\\)\\};";

r = Pattern.compile(pattern);

m = r.matcher(response);

String code = "";

while(m.find())
{
    shift = m.group(1);
}

System.out.println("Center:" + code);

这段代码没有返回我想要的。

威克多·斯特里比尤

在这里,您已经解决了几个问题,现在可以正常工作了(请参见此处的示例程序):

String response = ";function gH(a){a=a.split(\"\");fH.vF(a,36);fH.DZ(a,42);fH.kG(a,1);fH.vF(a,23);fH.DZ(a,29);fH.vF(a,41);fH.DZ(a,2);fH.kG(a,2);fH.vF(a,17);return a.join(\"\")};";
String pattern = "function\\s+..\\(a\\)\\{a=a\\.split\\(\"\"\\);(.*?)return\\s+a\\.join\\(\"\"\\)};";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(response);
String code = "";
while(m.find())
{
   code = m.group(1);
}
System.out.println("Center:" + code);

输出:

Center:fH.vF(a,36);fH.DZ(a,42);fH.kG(a,1);fH.vF(a,23);fH.DZ(a,29);fH.vF(a,41);fH.DZ(a,2);fH.kG(a,2);fH.vF(a,17); 

code现在已正确分配了第一个捕获组的值,并在以后使用。我也更喜欢\s文字空间,因为以后调试正则表达式更方便。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式-获取字符串的一部分

使用正则表达式在js / jquery中获取字符串的一部分

如何通过Kotlin或Java中的正则表达式获取字符串的一部分?

使用正则表达式根据条件获取字符串的一部分

正则表达式,获取字符串的一部分(日期+名称)

在python中通过正则表达式提取字符串的一部分

如何获取与SQL Server中的正则表达式匹配的字符串的一部分

Scala:使用正则表达式提取字符串的一部分

需要使用正则表达式提取字符串的一部分

使用正则表达式提取字符串的一部分

使用正则表达式提取字符串的一部分

Sed正则表达式,在Mac终端中提取字符串的一部分

提取字符串第一部分的正则表达式

如何使用正则表达式提取字符串的一部分

使用正则表达式从特定位置提取字符串的一部分

TSQL使用正则表达式提取字符串的一部分

使用正则表达式提取字符串的一部分

Python正则表达式提取字符串的一部分

Mac终端:Sed正则表达式,提取字符串的一部分

正则表达式:提取字符串的一部分,消除它的特定模式

如何使用正则表达式在Java中处理字符串的一部分

使用正则表达式获取字符串的文本,但不包括最后一部分?

正则表达式选择字符串的一部分

使用正则表达式替换字符串的一部分

正则表达式匹配字符串的一部分

正则表达式不匹配字符串的一部分

用正则表达式屏蔽字符串的一部分

正则表达式匹配字符串的最后一部分

正则表达式保留字符串的一部分