要求:
字符串的格式应为:
import SOME_NAME = require(“RELATIVE_PATH”)
其中RELATIVE_PATH应该以./或../开头,并且应该是双引号
有效字符串的示例:
测试字符串1:
import test = require(“../../ file3”)
应该有匹配测试字符串2:
import test = require(“./ file3”)
应该有匹配
无效字符串的示例:
测试字符串3:
import test = require(“file3”)
开头
这是无效的,因为相对路径不是以./或../测试字符串4:
import test = require('。/ file3')
这是无效的,因为相对路径应该是双引号“”
我用来测试字符串匹配上述模式的REGEX是
final String REGEX = "import\\s\\w+\\s?=\\s?require\\(\\\"(./|../)[A-Za-z0-9]*\"\\)"
boolean isAMatch = testString.matches(REGEX);
正则表达式无法匹配testString1,因为正则表达式模式不处理相对路径中具有重复模式的字符串,如../../或././。
我尝试像这样修改REGEX(./+|../+)
final String REGEX = "import\\s\\w+\\s?=\\s?require\\(\\\"(./+|../+)[A-Za-z0-9]*\"\\)"
但这不起作用。我在这里缺少什么?
答案 0 :(得分:-1)
^import\\s+\\w+\\s*=\\s*require\\("(?:\\.\\.?\\/)+[a-zA-Z0-9]+"\\)$
你可以使用它。参见演示。