我需要从字符串中提取子:需要帮助找出正确的正则表达式模式
给定的字符串:"< If((h == v)): { [ < j = (i - f) ;>, < k = (g + t) ;> ] }>"
我需要两个字符串:"j = (i - f)"
和"k = (g + t)"
。
为此我尝试了用户模式的正则表达式。这是我的代码:
Pattern pattern = Pattern.compile("[<*;>]");
Matcher matcher = pattern.matcher(out.get(i).toString());
while (matcher.find())
{
B2.add(matcher.group());
}
out.get(i).toString()是我的输入字符串。 B2是一个ArrayList,它将包含两个提取的子字符串。
但是,运行上面的代码后,我得到的输出是:[<, <, ;, >, <, ;, >, >]
。
我的模式不工作!非常感激你的帮助。 在此先感谢!
试试这个网站http://www.regexplanet.com/ – Elmer 2013-02-27 18:54:08
一个问题是: ''[...]'并不意味着你的想法。它是*字符类*的符号,例如([例如]'[abc]'表示“a','b'或者'c''。 – ruakh 2013-02-27 18:57:47