我正在尝试创建一个正则表达式来从公司列表中提取公司详细信息,但遇到了困难,因为有些公司将其移动的号码列在公司代码之前,而有些公司将其移动电话号码列在公司代码之后。他们只想匹配移动电话号码列在公司代码之后的公司,并尝试在正则表达式中使用前瞻,但没有成功。
正则表达式语法details of the company:(?<address>[^\n\r]*)\b(?!.*mobile).*(company-code:)(.*?)(mobile:)(.*?)
要检查的字符串:
公司的详细信息:名称:xyz,公司代码:100,移动的:123
公司的详细信息:姓名:xyz,移动的:12345,公司代码:100
1条答案
按热度按时间jyztefdp1#
我建议你换个Angular 来看,从更一般的Angular 来看,你的字符串有一个
prefix: field1:value1, field2:value2, ...
的模式,所以你可以专注于匹配字段:值对,使用preg_match_all()
你可以把所有的匹配作为集合来获取。输出:
另一个解决方案是使用字符串函数。从主题中删除所有不必要的部分,然后拆分它。