【问题标题】:Regex - Find first word without a specific string正则表达式 - 查找没有特定字符串的第一个单词
【发布时间】:2020-02-13 13:48:24
【问题描述】:

我想分析字符串的行。有一些字节作为十六进制代码。为此,我想在没有字符“0x”的情况下获得这些之后的第一个单词。 后面的单词可以包含“x”,但不能包含 0x。 例如:TimeStamp[ID] -> 0x12 0x34 0x56 0x7 0x88 0x98 0x76 0x5 Word_I_Searched_without

我已经证明:

Regex excluding specific characters

Regex: Match word not containing

Regular expression to match a word without a character

【问题讨论】:

  • 什么味道?你也可以添加一些例子
  • 请提供一些输入样本。此外,以程序方式解决问题可能更容易(也就是说,匹配每个单词并对其进行分析)。
  • 例如:TimeStamp[ID] -> 0x12 0x34 0x56 0x7 0x88 0x98 0x76 0x5 Word_I_Searched_without
  • 请更新您的原始帖子以包含示例输入字符串和该字符串的示例输出。
  • 这个 > (?<=\b0x)[0-9]+\b?如果没有预期的回报,很难说出你在追求什么。

标签: regex


【解决方案1】:

如果支持的话,最简单的方法是使用所谓的单词边界:

\b(?!0x)[0-9A-Fx]+\b

见a demo on regex101.com。

【讨论】:

  • 谢谢你的答案。我测试了你的,但你看到 here 不幸的是它不起作用
【解决方案2】:

至少我改变了我的代码。结果是我在您的输入中使用了以下正则表达式:

(?<=-> )(.*?)(\b(?!0x)(?!\s+)+.*)

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多