我有看起来像这样的字符串。
setting-bs_b77f423715d2b991-node
setting-bs_b77f423715d2b991-eggs
setting-bs_b77f423715d2b991-cheese
setting-bs_b14835f519bf447d-ham
如何仅提取中间元素?例如bs_b14835f519bf447d
它始终具有相同的长度,并且始终具有相同的 bs_
前缀。
不幸的是,我不能对这个问题使用lookbehind,正如https://stackoverflow.com/questions/6109882/regex-match-all-characters-between-two-strings所建议的那样,因为 regex 必须在不支持lookbehinds的bigquery中运行
回答1
假设您没有其他 16 字符字母数字单词,则 [a-z0-9]{16}
可以工作。