Python中用于WikiMarkup的正则表达式

Python中用于WikiMarkup的正则表达式,python,regex,python-2.7,mediawiki,Python,Regex,Python 2.7,Mediawiki,为了解析MediaWiki标记,我尝试在python中创建一个与此模式匹配的re: <ref>*Any_Character_Could_Be_Here</ref> *这里可能有任何字符 但说到正则表达式,我完全不知所措。有人能帮我吗,或者给我指一个可能有帮助的教程或资源。谢谢 假设svick认为MediaWiki标记不是有效的xml(或html)是正确的,那么您可以在这种情况下使用re(尽管我肯定会遵循更好的解决方案): >>重新导入 >>>test_string='

为了解析MediaWiki标记,我尝试在python中创建一个与此模式匹配的re:

<ref>*Any_Character_Could_Be_Here</ref>
*这里可能有任何字符

但说到正则表达式,我完全不知所措。有人能帮我吗,或者给我指一个可能有帮助的教程或资源。谢谢

假设svick认为MediaWiki标记不是有效的xml(或html)是正确的,那么您可以在这种情况下使用
re
(尽管我肯定会遵循更好的解决方案):

>>重新导入
>>>test_string='''*此处可以包含任何字符
其他字符可能在此处“”
>>>关于findall(r'.*?',测试字符串)
['*任何字符\u可以\u在这里','其他字符可以在这里']#匹配字符串的列表

在任何情况下,您都需要熟悉(无论您是否使用正则表达式来解决此特定问题)。

srhoades28,这将符合您的模式

if re.search(r"<ref>\*[^<]*</ref>", subject):
    # Successful match
else:
    # Match attempt failed

if re.search(r“*[^示例字符串:Sheehan,Sean.《无政府主义》,伦敦:Reaktion图书有限公司,2004年。第85页另一个示例字符串:这就是为什么无政府主义,当它试图从各个方面摧毁权威时,当它要求废除法律和废除强加法律的机制时,当它拒绝所有等级组织并鼓吹自由协议时,同时努力维护和扩大与你的社会习俗的宝贵核心没有任何人类或动物社会能够存在它实际上是维基百科上无政府主义页面的xml节点中的WikiMarkup。如果我能找到一种更简单的方法来解析WikiMarkup,我会的,但我正在尝试使用re来过滤这个巨大的字符串。@JustinBarber它不是真正的xml,MediaWiki文章不是有效的xml文档。所以xml解析器不会有帮助。@svick啊,我明白了。它没有帮助看起来也像html。它是自成一格的吗?这也假设永远不会有任何子元素,上面的例子就是这样。很难说op到底在寻找什么,但您的选项确实考虑了星号+1@JustinBarber你说得对,表达式正好符合srhoades28的要求。让我们看看他是否改变了要求。
if re.search(r"<ref>\*[^<]*</ref>", subject):
    # Successful match
else:
    # Match attempt failed