将 C# 正则表达式代码转换为 Java
Posted
技术标签:
【中文标题】将 C# 正则表达式代码转换为 Java【英文标题】:Convert C# regex Code to Java 【发布时间】:2011-07-02 21:40:49 【问题描述】:我在 C# 中找到了这个正则表达式提取器代码。 谁能告诉我这是如何工作的,以及如何用 Java 编写等价物?
// extract songtitle from metadata header.
// Trim was needed, because some stations don't trim the songtitle
fileName =
Regex.Match(metadataHeader,
"(StreamTitle=')(.*)(';StreamUrl)").Groups[2].Value.Trim();
【问题讨论】:
【参考方案1】:这应该是你想要的。
// Create the Regex pattern
Pattern p = Pattern.compile("(StreamTitle=')(.*)(';StreamUrl)");
// Create a matcher that matches the pattern against your input
Matcher m = p.matcher(metadataHeader);
// if we found a match
if (m.find())
// the filename is the second group. (The `(.*)` part)
filename = m.group(2);
【讨论】:
【参考方案2】:它从诸如“StreamTitle='MyTitle';StreamUrl”之类的字符串中提取“MyTitle”。
() 运算符定义匹配组,您的正则表达式中有 3 个。第二个包含感兴趣的字符串,并在 Groups[2].Value 中获取。
那里有一些非常优秀的正则表达式设计器。我使用的是 Rad Software 的正则表达式设计器 (www.radsoftware.com.au)。它对于找出这样的东西非常有用(并且它使用 C# RegEx)。
【讨论】:
以上是关于将 C# 正则表达式代码转换为 Java的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式 - 将 C# 正则表达式转换为 JavaScript 正则表达式的量词的目标无效
将 po box javascript 正则表达式转换为 c# 正则表达式
将 c# 正则表达式转换为 javascript 正则表达式