[英]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.