0

我想选择下一条带下划线的文本。您会看到富文本框的 rtf 具有以下下划线文本的代码:

\ul\i0 hello friend\ulnone\i

但普通文本看起来像下划线。我想要做的是单击按钮,rtfbox 应该选择下一条带下划线的文本。一个示例文本是:

hello [friend your] house [looks] amazing.

想象方括号内的单词有下划线。当我第一次单击 button1 时,应选择“friend your”,然后单击“looks”。继续前进并继续选择它的应用程序类型。我知道这可以使用正则表达式来完成,但无法构建逻辑。

任何帮助将不胜感激。非常感谢 :D

4

1 回答 1

1

正则表达式将是

Dim pattern As String = "\\ul\\i0\s*((?:(?!\\ulnone\\i).)+)\\ulnone\\i"

解释

\\ul\\i0 # 序列 "\ul\i0"
\s* # 任意数量的空白
( # 开始第 1 组:
  (?: # 非捕获组:
    (?! # 负前瞻 ("not 其次..."):
      \\ulnone\\i # 序列 "\ulnone\i"
    ) # 结束负前瞻
    . # 匹配下一个字符(带下划线)
  )+ # 结束非捕获组,重复
) # 结束组 1(它将包含所有带下划线的字符)
\\ulnone\\i # 序列 "\ulnone\i"
于 2012-01-26T09:53:41.550 回答