[英]regular expression to identify and extract two different strings from parent string
我有以下字符串: your lead count is @_sfdc.Account.phonenumber.value, you are having @_hrms.leaves.leavescount per year
。
从这个,我想获取@_sfdc.Account.phonenumber.value
和@_hrms.leaves.leavescount
。 在这种情况下,即使我们有多个点,它也应该获取所有点分隔的字符串。
目前,我已经尝试使用此正则表达式:/ /@_sfdc.([a-zA-Z]).+/g;
/ /@_sfdc.([a-zA-Z]).+/g;
/@_[\\w\\.]+/g
这与“ @_”匹配,后跟字母,数字或点( .
)的任何序列。
您在正确的道路上,几乎在那儿! 这里的主要错误是.
是正则表达式中的保留字符,表示“任何字符”。 要实际匹配点字符,您需要使用反斜杠将其转义: \\.
因此,您的正则表达式变为/@_sfdc\\.([a-zA-Z])\\.+/g
需要注意的另一件事是,您要匹配同一组中的字母和点,而当前表达式则要求匹配以点结尾。 因此,让我们在匹配的组方括号内移动该点:/ /@_sfdc\\.([a-zA-Z\\.])+/g
.([ /@_sfdc\\.([a-zA-Z\\.])+/g
.])+/ /@_sfdc\\.([a-zA-Z\\.])+/g
。
另外,您说您想同时匹配@_sfdc
和@_hrms
前缀,所以让我们对其进行更改。 有两种方法可以做到这一点:
@_sfdc
和@_hrms
寻找:/ /@_(sfdc|hrms)\\.([a-zA-Z\\.])+/g
@_sfdc
( @_hrms
.([[ /@_(sfdc|hrms)\\.([a-zA-Z\\.])+/g
@_hrms
/ /@_(sfdc|hrms)\\.([a-zA-Z\\.])+/g
@_
开头的字符串:/ /@_([a-zA-Z\\.])+/g
.])+/ /@_([a-zA-Z\\.])+/g
。 在这种情况下, hrms.
和sfdc.
由捕获字符串其余部分的同一块( [a-zA-Z\\.]+
)捕获
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.