我正在尝试使用Java中的正则表达式匹配任何字符字符串,但是遇到了问题。我试图%key%
用哈希图中的对应值替换字符串包含的位置。
我的黑醋栗正则表达式模式%([.]+)%
似乎不起作用,但我不确定为什么。我尝试了一下%([a-z A-Z 0-9])%
,效果似乎很好,但是我想允许所有的charichters,但换行和“。” 似乎除了句号之外什么都不允许(例如,%...%
会摇摆但%test%
不会。)
老实说,我不确定自己做错了什么,我想我在错误的地方使用句号,但似乎找不到正确的用法。
很抱歉给您带来可怕的解释,我想不出更好的方法。
谢谢。
您想要使用类似:
%([^.]+?)%
该?
指非贪婪。该[^.]
方法,而不是句号。
给定输入:
%inside1%something%inside2%
它将匹配%inside1%
并且%inside2%
问题[.]
在于这实际上是一个句号。
编辑如果您逐行匹配,那么我的就可以了。如果您要在多行中进行匹配,则应使用anubhava答案,该答案将从匹配项中明确排除换行符,因此从行中匹配%的多行查询将从结果中排除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句