我有这种形式的表达......
@@name<·parameters·>
...我想要一个与小组name
和parameters
匹配的正则表达式。由于我有name
的封闭(和小)值组,我更喜欢使用for循环来尝试所有少数值,但parameters
可以是任何东西......除了{{1 }和<·
,它们是打开和关闭参数集的序列。
我找到了this question,我试过了......
·>
......但我无法让它发挥作用。我认为原因在于排除的表达式在位置和重复次数中都是已知的(1)但在我的情况下,我希望将这两个序列中的任何一个排除在未知长度的字符串中。
你知道怎么做吗?谢谢。
答案 0 :(得分:1)
你必须是正则表达式,
@@(name)<·((?:(?!<·|·>).)*)·>
否定前瞻方法。只需了解此部分(?!<·|·>).
只匹配任何字符(点),但不能理解<·
或·>
,(?:(?!<·|·>).)*
0( star) )或更多次。
或
非贪婪的方法。
@@(name)<·(.*?)·>
答案 1 :(得分:0)
您还可以使用以下正则表达式:
@@([^<]*)<\·([^\·]+)\·>