Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式-忽略提取数据中的前7个字符_Regex_Xpath_Shell_Python_Perl_Ruby_Nokogiri_Php - Fatal编程技术网

Regex 正则表达式-忽略提取数据中的前7个字符

Regex 正则表达式-忽略提取数据中的前7个字符,regex,xpath,shell,python,perl,ruby,nokogiri,php,Regex,Xpath,Shell,Python,Perl,Ruby,Nokogiri,Php,从页面源提取数据。在提取的数据中,需要在“.”后显示文本。尝试了不同的选项。不起作用。有什么建议吗 页面源文本 input type name=loginForm\u SUBMIT value=“1”/input type=“”name=“faces.ViewState”id=“faces.ViewState”value=“9uiY/UWJ1/w3PQ=”/>不要使用正则表达式解析XML/HTML,请使用适当的XML/HTML解析器和强大的查询 理论: 根据编译理论,XML/HTML不能使用基

从页面源提取数据。在提取的数据中,需要在“.”后显示文本。尝试了不同的选项。不起作用。有什么建议吗 页面源文本


input type name=loginForm\u SUBMIT value=“1”/input type=“”name=“faces.ViewState”id=“faces.ViewState”value=“9uiY/UWJ1/w3PQ=”/>不要使用正则表达式解析XML/HTML,请使用适当的XML/HTML解析器和强大的查询

理论: 根据编译理论,XML/HTML不能使用基于的正则表达式进行解析。由于XML/HTML的层次结构,您需要使用一个类似的工具来处理语法

现实生活™ a中的日常工具: 您可以使用以下选项之一:

通常默认情况下与
libxml2
、xpath1一起安装(检查是否以换行符分隔输出

可以编辑、选择、转换…默认情况下未安装,xpath1

通过perl的模块XML::XPath、xpath1安装

xpath3

我自己的项目,包装@Michael Kay的Saxon HE Java库,xpath3

或者您可以使用高级语言和适当的库,我认为: 的(
来自lxml导入etree

是的

,

DOMXpath


检查:


示例使用: 输出: 你可以试试这个

(?:value[^v]*value=\")([^\"]*)
您想要的输出在组1中捕获,您可以通过反向引用\1或$1检索它

“value=”在示例文本中出现了两次,因此您似乎使用正则表达式(value=“[^”1”].*\w==)来避免第一个,而匹配第二个


但是正则表达式是错误的,因为字符类“[…]”表示一个字符。如果字符类后面跟有量词(重复符)*、+、或{min,max}等,则正则表达式可能表示具有多个字符的字符串。

推荐阅读:您的语言可以使用捕获组吗?F.e.
value=“[A-Za-z0-9\/]*=”)
然后获取捕获组$1。顺便说一句,这是什么语言或正则表达式引擎?例如,在PCRE正则表达式引擎中,您可以使用\K,但不能在javascript中使用的简单正则表达式引擎中使用。如果您坚持保留您的版本,请使用代码块
{}
有关代码,您看到我的完整答案了吗?当您有文本输出时,也可以通过右键单击->复制为outerHTML来复制html。Thx Gilles、Niceal和LukStorms。链接和建议很有用JMeter中的正则表达式提取器不支持xpath。我正在测试。xpath在那里也不受支持我可以自由使用火箭筒杀死一只苍蝇。你永远不会在任何地方添加JMeter标志。推荐使用了一个小特威克。它的工作和抓取准确的文本。
9uiY/UWJ1/w3PQ==
(?:value[^v]*value=\")([^\"]*)