我尝试从以下字符串中获取paranthesis中的字符串modlgn_username
:
$这 - > webDriver-> findElement(WebDriverBy :: ID( “modlgn_username”)) - >点击();
这是我的正则表达式:
\$this->webDriver->findElement\(WebDriverBy::id\("([A-z0-9]+)"\)\)->click\(\);
但是我得到查找:找不到文字\ $ this-> webDriver-> findElement(WebDriverBy :: id(“([A-Za-z0-9])”)) - &gt ;点击();
它适用于在线正则表达式测试程序:
答案 0 :(得分:1)
你的正则表达式将是这样的
(?<=\(\")\w+_\w+(?=\"\))
它检查从字符串的左侧将是(“和从右侧将是”)。
它是你需要的字符串。看看
答案 1 :(得分:1)
您必须在字符类或正则表达式中添加下划线,并且A-z
不是正确的范围,它包括[\]^_
和反引号:
\$this->webDriver->findElement\(WebDriverBy::id\("([A-Za-z0-9_]+)"\)\)->click\(\);
此角色类现在可以缩减为\w
:
\$this->webDriver->findElement\(WebDriverBy::id\("(\w+)"\)\)->click\(\);