2012-10-25 63 views
-2

我需要匹配像下面正则表达式匹配的字符串重复

session1_******.php 

难道我不喜欢这样的文件?

{session1_}^(.*).php 
+1

'我做这样的事情吗?'你的意思是你甚至没有测试它? –

+0

还在学习Regex。语法对我来说是新的。 –

回答

1

最直接的答案

^session1_.*\.php$ 

A carat(^)i用于表示字符串的开始或否定字符类(例如, [^ abc] ...不是“a”,“b”或“c”),它在正则表达式中没有任何意义。

只有在需要捕获结果时才需要括号。

句点(。)必须转义。

假设这是您匹配的整个字符串,^ ... $需要从头到尾完整匹配。如果在开始之前可能有文本删除^,或者可能会有文本,因为最后删除$。

+1

克拉也用于否定字符类别。 –

+0

此外,如果您需要表达重复的子模式,则无论您在做什么捕捉,都必须使用圆括号。 –

+0

添加了对char类的编辑。我同意这些parens,但是从技术上讲,你可以使用(?:)来代替,这允许重复而不需要捕获。 –

2

此正则表达式将匹配你所追求的:

^session1_.*\.php$ 

注逃脱点\.意思是文字点(不是正则表达式“任何字符”)