正则表达式查找字符串中要替换的特定标签
我有一个带有一些代码的字符串(例如:«USER_ID#USERNAME#STATUS»)用于替换,如下例所示:
您好《USER_ID#USERNAME#STATUS》,您喜欢《PROD_ID#PRODNAME#STATUS》吗?
我需要找到一种方法来获取所有代码以供将来替换。
我可以轻松地使用此正则表达式找到一个代码:
/«(.*)#(.*)#(.*)»/
但无法找到一种方法来使用 preg_match_all 获取所有代码。
有人可以帮助我吗?我正在使用 PHP。
谢谢
I have a string with some codes (ex:«USER_ID#USERNAME#STATUS») for replacement like in this example:
Hello «USER_ID#USERNAME#STATUS», do you like «PROD_ID#PRODNAME#STATUS»?
I need to find a way to get all the codes for future replacement.
I can easily find one code with this regex:
/«(.*)#(.*)#(.*)»/
but can't find a way to get all the codes with preg_match_all.
Can someone help me? I'm using PHP.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您必须使您的模式非贪婪:
请参阅此。
You have to make your pattern non-greedy:
See this.
请
注意 Ungreedy 开关的使用。
我确信很快就会有人修改正则表达式,使其本质上是不贪婪的
gives
Note the use of the Ungreedy switch.
I'm sure somebody will be along soon to modify the regexp so that it's inherently ungreedy
尝试
:)
try
:)