java - 用于获取 include 和 require 指令的正则表达式

标签 java php regex file

我正在尝试使用正则表达式(在 Java 中)从 PHP 文件中获取所有包含指令。

表达式应该只选取那些文件名表示为未连接的字符串文字的文件。不需要常量或变量。

检测应该适用于单引号和双引号,include-s 和 require-s,以及 _once 和 last 的额外技巧但同样重要的是,关键字和函数式调用。

一个粗略的输入样本:

<?php

require('a.php');
require 'b.php';
require("c.php");
require "d.php";

include('e.php');
include 'f.php';
include("g.php");
include "h.php";

require_once('i.php');
require_once 'j.php';
require_once("k.php");
require_once "l.php";

include_once('m.php');
include_once 'n.php';
include_once("o.php");
include_once "p.php";

?>

并输出:

["a.php","b.php","c.php","d.php","f.php","g.php","h.php","i.php","j.php","k.php","l.php","m.php","n.php","o.php","p.php"]

有什么想法吗?

最佳答案

使用token_get_all .它很安全,不会让您头疼。 还有PEAR的PHP_Parser如果您需要用户态代码。

关于java - 用于获取 include 和 require 指令的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6768180/

相关文章:

c# - 有没有一种简单的方法可以在 C# 中组合两个相对路径?

regex - XSD 模式限制 - 与正斜杠交替

java - 如何找到 fxml 文件以便我的 JavaFX 项目可以在任何 PC 上轻松运行?

php - 在 woocommerce 中显示当前产品的最深子类别

php - 使用 jquery 仅从表中的一列过滤多个值

php 将 string 转换为 int 没有给出正确的值

python - 以下字符串的正则表达式模式?

java - GeckoView 中有 shouldOverrideUrlLoading 吗?

java - 如何专门为具有 m1(byte) 和 m1(int) 签名的类提供字节值

java - java中匿名 block 中的静态变量