我有多行資料,如下所示:
dgov-nonprod-adp-personal.groups
dgov-prod-gcp-sensitive.groups
我想獲取最后一個連字符和句點之前的文本,所以:
個人的
敏感的
我有這個正則運算式(?:prod-(.*)-)(.*).groups,但是它提供了兩個組,并且在 bigquery 中我只能提取如果有一個組,那么正則運算式將是什么來提取我想要的文本?
注意:在第二個連字符之后和第三個之前,它將始終是 prod 或 nonprod,這就是為什么在我原來的正則運算式中我使用的原因,prod-因為這將是一個常數
uj5u.com熱心網友回復:
假設您使用的 BigQuery 函式支持捕獲組,我將您的要求表述為:
([^-] )\.groups$
演示
uj5u.com熱心網友回復:
對于示例資料,您可以使模式更具體地匹配-nonprod或-prod使用單個捕獲組:
-(?:non)?prod-[^-] -([^-] )\.groups$
查看正則運算式演示。
如果可以出現更多連字符:
-(?:non)?prod(?:-[^-] )*-([^-] )\.groups$
模式匹配
-(?:non)?prod匹配-nonprod或-prod(?:-[^-] )*可選匹配-后跟 1 個字符,而不是--從字面上匹配([^-] )捕獲組 1,匹配 1 以外的字符-\.groups匹配.groups$字串結束
查看另一個正則運算式演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526689.html
標籤:正则表达式解析
