我有以下格式的字符串:
String s = " some text....
[[Category:Anarchism| ]]
[[Category:Political culture]]
[[Category:Political ideologies]]
[[Category:Far-left politics]]
... some more text"
我想从此文本中提取所有类别。 [Anarchism,Political culture ....,Far-left politics]
另外,是否有一个很好的教程,我可以了解这个正则表达式模式匹配的东西.. 感谢
答案 0 :(得分:2)
您可以使用以下正则表达式来获取类别:
\[\[Category:(.+)\]\]
然后,您可以访问您的群组以获取类别值。
如果在java字符串上使用,请记住向反斜杠添加反斜杠:
\\[\\[Category:(.+)\\]\\]
你可以看到它有效:
答案 1 :(得分:1)
假设您不想选择单词" Category"本身,正则表达式将是:
(?<=Category:).*?(?=])
我会为你打破这一点。
括号中的第一位查找Category
,而不实际选择它。
下一个.+?
查找1-infinity字符(换行符除外),但只要匹配下一部分就会停止:
最后一个括号告诉它查找]
,但没有实际选择它。
结果将是以蓝色突出显示的下方位。