gpt4 book ai didi

regex - 如何修复此字符串的正则表达式 "#*abc"我想匹配这个确切的字符串,其中 abc 也可以是任何包含空格的单词

转载 作者:行者123 更新时间:2023-12-01 09:09:14 28 4
gpt4 key购买 nike

我想使用正则表达式从文件中读取特定字符之间的多个字符串。我已经尝试了以下代码,但无法获得预期的结果。

我的输入文件包含以下格式的数据:

#*OQL[C++]: Extending C++ with an Object Query Capability

#@José A. Blakeley

#t1995

#cModern Database Systems

#index0

#*Transaction Management in Multidatabase Systems

#@Yuri Breitbart,Hector Garcia-Molina,Abraham Silberschatz

#t1995

#cModern Database Systems

#index1

预期输出:

OQL[C++]: Extending C++ with an Object Query Capability

Transaction Management in Multidatabase Systems

我尝试了什么

    [^#*][a-z]\w+[\n$]

它没有读取字符串空格。

最佳答案

如果您想匹配字符串开头的 #* 并获取后面的内容,您可以使用捕获组。注意获取字符类之外开头的字符并转义\*

要匹配空格,您可以使用以空格开头的重复模式。要匹配示例中的所有单词,您可以使用 character class允许匹配哪些字符。

^#\*([a-zA-Z][+:a-zA-Z\]\[]+(?: [+:a-zA-Z\]\[]+)*)

Regex demo

或者作为替代方案,使用积极的回顾:

(?<=^#\*)[a-zA-Z][+:a-zA-Z\]\[]+(?: [+:a-zA-Z\]\[]+)*

Regex demo

要匹配任何一个字符,您可以使用字符类

^#[*@c]([a-zA-Z][+:a-zA-Z\]\[]+(?: [+:a-zA-Z\]\[]+)*)

Regex demo

关于regex - 如何修复此字符串的正则表达式 "#*abc"我想匹配这个确切的字符串,其中 abc 也可以是任何包含空格的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57141270/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com