【问题标题】:Regex escape match on newline character (\n)?换行符(\n)上的正则表达式转义匹配?
【发布时间】:2015-08-11 20:38:12
【问题描述】:

我有一串多行文本如下:

" 1.0.0\nProduct ID: 050-105-SX\n asdfasdfadssffa324-\dfadsfasdfasdf\n

我想得到以下输出:

050-105-SX

我想用转义符来做到这一点,但似乎无法在 \n 换行符上找到转义符,因为转义符当然被解释为两个文字字符:

我尝试了什么:

(?<=Product ID:\s)([^n]*) which would escape up to the "n":

输出:

050-105-SX\    

在 regex101 上可以使用的示例是 here (同样,我只想要“产品 ID”之后的那个字符串。)

提前致谢!

【问题讨论】:

  • 你可以使用 \s 来表示任何空格,包括 CRs
  • 你确定你有换行符吗?因为 VB.NET 字符串中的 \n 是文字 ` and n`。

标签: regex vb.net


【解决方案1】:

用途:

(?<=Product ID:\s)([^\\]*)

【讨论】:

  • 成功了!谢谢。知道如何解释为什么换行符永远不会被识别吗?谢谢!
  • 因为 "\n" 被解释为字符串,而不是换行符
  • 如果您正在阅读多行文件,则每个换行符都是一个换行符。我不确定我是否清楚。
  • 谢谢,@davcs86 说得通。转义括号 [] 正在查看文字字符串
猜你喜欢
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
相关资源
最近更新 更多