Regex 我需要一个以开头和结尾的正则表达式
我正在寻找一个正则表达式,用于查找和替换大量表达式。表达式类似于s360a\uuuu fieldname\uuuu c。我需要找到所有的实例,其中s360a后面跟着c 问题是,它必须在一行内,因此它没有找到一个开始的s360a_u_;,然后是下一个__;c,它可能在下面几行 下面是我正在更改的一些xml的示例Regex 我需要一个以开头和结尾的正则表达式,regex,Regex,我正在寻找一个正则表达式,用于查找和替换大量表达式。表达式类似于s360a\uuuu fieldname\uuuu c。我需要找到所有的实例,其中s360a后面跟着c 问题是,它必须在一行内,因此它没有找到一个开始的s360a_u_;,然后是下一个__;c,它可能在下面几行 下面是我正在更改的一些xml的示例 <fields> <fullName>s360a__AddressPreferredStreetAddressCity__c</fullName>
<fields>
<fullName>s360a__AddressPreferredStreetAddressCity__c</fullName>
<deprecated>false</deprecated>
<externalId>false</externalId>
<label>Preferred Street City</label>
<length>255</length>
<required>false</required>
<trackFeedHistory>false</trackFeedHistory>
<trackHistory>false</trackHistory>
<type>Text</type>
<unique>false</unique>
</fields>
<fields>
<fullName>s360a__AddressPreferredStreetAddressCountry__c</fullName>
<deprecated>false</deprecated>
<externalId>false</externalId>
<label>Preferred Street Country</label>
<picklist>
s360a\uuU地址首选街道地址城市\uU c
假的
假的
首选街道城市
255
假的
假的
假的
正文
假的
s360a_u_地址首选街道地址国家/地区
假的
假的
首选街道国家
您最好使用解析器,与xpath
结合使用。下面是一个使用PHP
的示例(也可以很容易地用于Python
)。其思想是加载DOM
,然后使用一个函数过滤掉元素(start-with()
和text()
)
您最好使用解析器,并结合使用
xpath
。下面是一个使用PHP
的示例(也可以很容易地用于Python
)。其思想是加载DOM
,然后使用一个函数过滤掉元素(start-with()
和text()
)
您在什么环境中使用正则表达式?您在什么环境中使用正则表达式?
<?php
$xml = '<fields>
<fullName>s360a__AddressPreferredStreetAddressCity__c</fullName>
<deprecated>false</deprecated>
<externalId>false</externalId>
<label>Preferred Street City</label>
<length>255</length>
<required>false</required>
<trackFeedHistory>false</trackFeedHistory>
<trackHistory>false</trackHistory>
<type>Text</type>
<unique>false</unique>
</fields>';
$dom = simplexml_load_string($xml);
// find everything where the text starts with 's360a_'
$fields = $dom->xpath("//*[starts-with(text(), 's360a_')]");
print_r($fields);
# s360a__AddressPreferredStreetAddressCity__c
# check if the node text starts and ends with a specific string
$fields = $dom->xpath("//*[starts-with(., 's360a_') and substring(text(), string-length(text()) - string-length('_c') +1) = '_c']");
?>