【问题标题】:Converting C# regular expression to Java将 C# 正则表达式转换为 Java
【发布时间】:2012-01-02 09:56:50
【问题描述】:

C# 中的这个正则表达式在 java 中给了我错误:

"<input type="hidden" name="GALX" value="(?<galx>[a-zA-Z0-9_]+)">"  

错误:

Look-behind group does not have an obvious maximum length near index 60
<input type="hidden" name="GALX" value="(?<galx>[a-zA-Z0-9_]+)">

Java 中的等价表达式是什么?

【问题讨论】:

  • 首先你不应该使用正则表达式来解析 HTML,看这里:stackoverflow.com/questions/590747/… 看看为什么。其次,您遇到了什么错误?第三,默认情况下,Java 似乎将 ^ 和 $ 锚添加到您的正则表达式中,因此您也必须满足这一点。

标签: c# java regex


【解决方案1】:

这是我猜的。我将 ' 更改为 " 并转义了任何 "

"<input type=\"hidden\" name=\"GALX\" value=\"(?<galx>[a-zA-Z0-9_]+)\">" 

编辑 :: 对于“galx”的命名分组,只有java 7支持这个

Regex Named Groups in Java

【讨论】:

  • 对不起'实际上是"。在这里错误地改变了它
  • @UzairFarooq 我相信这回答了你的问题
  • 不...这不是答案,我仍然遇到运行时错误
  • @UzairFarooq 就像我说的,你是否使用 java 1.7
  • @ AlanFoster 是的,你是对的,我把它改成了这个,它工作正常:"" 谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 2023-03-09
  • 2011-07-02
相关资源
最近更新 更多