Integromat 中的正则表达式

Regex in Integromat

我在 Integromat.

Textparser 模块中得到一个带有以下正则表达式的 'infinite loop' ]

(?<=\n)(.*)(?=\nA|B)

我知道这是由于 | 造成的,但不确定 Integromat 中的其他选项。

试试这样的模式

(?m)^(.+?)(?:\r?\nA|B)

解释

m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
^ asserts position at start of a line
1st Capturing Group (.+?)
  . matches any character (except for line terminators)
  +? matches the previous token between one and unlimited times, as few times as possible, expanding as needed (lazy)
Non-capturing group (?:\r?\nA|B)
  1st Alternative \r?\nA
  \r matches a carriage return (ASCII 13)
  ? matches the previous token between zero and one times, as many times as 
possible, giving back as needed (greedy)
  \n matches a line-feed (newline) character (ASCII 10)
A matches the character A with index 6510 (4116 or 1018) literally (case sensitive)
2nd Alternative B
  B matches the character B with index 6610 (4216 or 1028) literally (case sensitive)