在 PCRE 中,这将是一个有效的表达式。
/^\!(foo|bar) ((?i)ab|cd|ef|gh)$/
但在JavaScript正则表达式中,这是无效的。不幸的是,我不知道(?i)
被称为什么,所以我在谷歌上遇到了一些问题。如何将此示例转换为JavaScript有效的格式?
实际上我想要做的:
查找所有以!foo
或!bar
开头,并紧随一个空格并以ab
、cd
、ef
或gh
结尾的行。后者应该是不区分大小写的。
!foo CD
!foo cD
!foo cd
所有这些都是有效的。虽然
!FOO cd !Foo cd
将是无效的。
/^(?i)[a-z]{2}(?-i)[a-z]{2}/
是 PCRE 正则表达式。我在答案中引用它只是因为 OP 特别要求解释(?i)
PCRE 运算符。在 JavaScript 中等效的表达式是/^[a-zA-Z]{2}[a-z]{2}/
。 - Giuseppe Ricupero