java - 为 Headers 匹配 PHP 中的任何 PHP header() 标签

标签 java regex

在 Java 中获取任何 PHP 内容的正确正则表达式是什么 header()<? ?> 内或 <?php ?>标签而不评论?我一直在拔头发。我一直在阅读正则表达式手册,但无论我尝试什么都行不通。

http://regexr.com/3fi39

(.*)header\s+\((\"|\').*?(\"|\')\)\;?(.*)

这是我一直在测试我的表情的地方。我什至还没有开始添加 PHP 标记,因为我无法使基本表达式起作用。我在延迟此功能的第 3 天...

另一个尝试(感谢 chris85)有效

(.*)header\s*\(("|')(.*)("|')\)\;(.*)

最佳答案

您的第一个正则表达式无法匹配,因为 + 量词需要匹配,* 出现零次或多次。所以 \s+ 需要至少 1 个空格,但是 header( 没有空格。您可以使用以下正则表达式来提取 PHP header 调用的内容:

header\(('|")([^\1]+?)\1\)

('|")是单引号或双引号。与(["'])相同。 [^ 是一个否定字符,意味着不允许在其中列出的所有字符。 \1 是对我们匹配的第一个字符的反向引用(这是一个封装引号)。 + 一直运行,直到我们遇到预期的结束引号,然后是文字 )

这里还有一个 regex101 演示,以防我的描述的某些部分不清楚,https://regex101.com/r/D9rXDT/2/ .

关于java - 为 Headers 匹配 PHP 中的任何 PHP header() 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42866807/

相关文章:

java - Eclipse RCP setSaveAndRestore 状态不起作用

Python删除文本行#1直到正则表达式

regex - 可以使用正则表达式识别任何上下文无关语言吗?

java - 业务对象和传输对象之间的区别?

java - WildFly:来自远程客户端的 EJB 调用

java - 两个完全相同的阿拉伯字母 "as they appear"在 NetBeans 中不相等

java - NFC 安卓光束

python - Python 中的正则表达式

php - JavaScript 正则表达式替换 HTML anchor

ruby - 正则表达式 - 保存重复捕获的组