[英]Regex to match everything except a group
對於 Javascript 應用程序,我想匹配文本中除某些 id 之外的所有內容。
id結構: <#(\w|-)#>
輸入:
Lorem ipsum dolor sit amet,<#A-01#> consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et <#G-15#> dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exercitation<#F-08#>ullamco laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure<#K-02#> dolor in reprehenderit <#S-21#> in voluptate velit esse cillum dolore eu fugiat nulla pariatur。
預期匹配:
Lorem ipsum dolor sit amet, <#A-01#> consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et <#G-15#> dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exercitation <#F-08#> ullamco laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure <#K-02#> dolor in reprehenderit <#S-21#> in voluptate velit esse cillum dolore eu fugiat nulla pariatur。
它看起來很簡單,但我找不到解決方案:(
我希望它清楚,感謝您的幫助!
首先,您在問題中的初始正則表達式是錯誤的( <#(\w|-)#>
)
匹配是一段連續的字符串,您不能在單個匹配中匹配ABC
中的AC
。
但是,您可以將其隔離在多個匹配項中:
https://regex101.com/r/khHY8F/1
/((?<=<#[A-Z]-[0-9]{2}#>)|^).*?((?=<#[A-Z]-[0-9]{2}#>)|$)/gm
也就是說,如果您想要沒有標簽的字符串,則不需要我展示的所有內容,只需將其刪除即可:
myString.replace(/<#[A-Z]-[0-9]{2}#>/gm, "")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.