RegEx conversion Javascript to PHP


RegEx conversion Javascript to PHP

目前我在我的Javascript代码中使用以下RegEx:

'(?:' + tags + '):([''s''S]*?)(?=''s+(?:' + tags + '|END):)'

. .因为它是一个动态RegEx,变量'tags'用于我想要过滤的几个参数。

如何将RegEx看起来像PHP代码?我得到以下部分的工作:

(?:' + tags + '):([''s''S]*?)

但是不管我怎么做,第二部分都不能在PHP中工作:

(?=''s+(?:' + tags + '|END):)

谢谢你的帮助!

编辑1:

我当前的PHP代码是这样的:

$regexp = '(?:'.$tags.'):([''s''S]*?)(?=''s+(?:'.$tags.'|END):)';
编辑2:

我试图找到以下标签/参数:

$tags = 'X-WR-CALNAME|X-WR-TIMEZONE|X-WR-CALDESC|BEGIN|CLASS|DTSTAMP|UID|CREATED|LAST-MODIFIED|SEQUENCE|STATUS|TRANSP|X-MICROSOFT-CDO-BUSYSTATUS|ORGANIZER|SUMMARY|DESCRIPTION|LOCATION|DTSTART|DTEND|END';

…从如下的文本中取出

开始:VEVENTDTSTART: 20121117 t143000zDTEND: 20121117 t163000zDTSTAMP: 20121130 t185808zUID: n3f3qjgtads37phsq3oovmvouc@google.com创建:20121102 t191518z描述:1。德甲',12。Spieltag ' n ' nhttp://www.fussball-spielplan。信息最后修改:20121117 t170303z地点:Imtech-Arena ',汉堡序列:0状态:确认摘要:汉堡SV - 1。美因茨FSV 05 (1:0)透明:透明结束:VEVENT

. .

当添加分隔符(模式的开始和结束处的/)时,regex似乎可以工作。

$regexp = '/(?:'.$tags.'):(['s'S]*?)(?='s+(?:'.$tags.'|END):)/';

不需要转义php正则字符串中的',除非您试图匹配文字"'"(在这种情况下必须使用'''''') -尽管这样做是可以的。