我有以下内容,它是日志文件中一行的一部分
-FDH-11 TIP: - 146/S Q: 48
我想与正则表达式匹配。有没有办法在上面的输入中获得Q的值。我不确定-FDH-和Q:之间的长度总是一样的。理想情况下,如果我找到-FDH-和Q:那么得到Q的值。
答案 0 :(得分:3)
-FDH-.*?\bQ:\s*(\S+)
-FDH-
按字面意思匹配.*?
任意次数匹配任何字符,但尽可能少\b
断言位置为单词边界Q:
按字面意思匹配\s*
匹配任意数量的空白字符(\S+)
将一个或多个非空白字符捕获到捕获组1 答案 1 :(得分:0)
您可能不需要为此使用正则表达式。如果只有一个" Q:"在字符串中,然后您可以将其拆分并使用以下内容获取值:
str = "-FDH-11 TIP: - 146/S Q: 48"
parts = str.split("Q: ")
q_value = parts[1]