V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Higurashi
V2EX  ›  正则表达式

一个正则匹配问题,我枯了

  •  
  •   Higurashi · 2020-06-09 11:34:50 +08:00 · 2145 次点击
    这是一个创建于 1388 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想要匹配“#设置说明”

    其中“#”表示任意字符串(可能包括换行符)。

    我试过“\n[\s\S]?设置说明[\s\S]?\n”,但匹配过多:

    枯了,搞了好久,求帮助。

    第 1 条附言  ·  2020-06-09 14:05:53 +08:00

    谢谢每位帮助者,现在不再考虑包含换行符的情况,改为\n.*?设置说明[\s\S]*?\n可以满足要求。问题关闭。

    15 条回复    2020-06-09 18:17:55 +08:00
    darer
        1
    darer  
       2020-06-09 11:46:59 +08:00
    正则有.能匹配换行符的 flag
    Higurashi
        2
    Higurashi  
    OP
       2020-06-09 12:08:47 +08:00
    @darer 嗯,是的,只是有可能需要匹配换行符,而.会去掉换行,所以没有用这个
    stillsilly
        3
    stillsilly  
       2020-06-09 12:42:45 +08:00 via iPhone
    发几条示例数据…
    constexpr
        4
    constexpr  
       2020-06-09 12:46:04 +08:00 via Android
    [\s\S]?至多匹配一个,但你说“#”表示任意“字符串”
    Vegetable
        5
    Vegetable  
       2020-06-09 12:57:05 +08:00
    任意字符串且包含换行符?你这不就直接把设置说明之前的所有内容都匹配上了吗?还正则干啥
    ElegantOfKing
        6
    ElegantOfKing  
       2020-06-09 13:21:16 +08:00
    @Vegetable 哈哈哈,老铁没毛病
    jxie0755
        7
    jxie0755  
       2020-06-09 13:25:35 +08:00 via iPhone
    是不是“[\s\S]*?设置说明”?
    kokutou
        8
    kokutou  
       2020-06-09 13:29:56 +08:00 via Android   ❤️ 1
    可以试试只匹配 1 次换行符
    PineappleBeers
        9
    PineappleBeers  
       2020-06-09 13:31:15 +08:00
    * 其中“#”表示任意字符串(可能包括换行符)*
    那岂不是** /设置说明$/ **就行了吗?
    Higurashi
        10
    Higurashi  
    OP
       2020-06-09 14:01:42 +08:00
    @kokutou 嗯,看来需要限制换行符才行。。
    Higurashi
        11
    Higurashi  
    OP
       2020-06-09 14:02:19 +08:00
    @Vegetable 有道理😂
    U97F3
        12
    U97F3  
       2020-06-09 14:06:45 +08:00
    正则我一般无脑(.*?)
    Higurashi
        13
    Higurashi  
    OP
       2020-06-09 14:09:33 +08:00
    @U97F3 哈哈,差不多
    imn1
        14
    imn1  
       2020-06-09 14:50:08 +08:00
    问题是看你的需求是行内匹配(单行),为何非要把换行符考虑进来?

    #是单个字符还是可以多个字符?前者的话你 append 的正则也是错的,后者的话相当于从全文开头匹配了
    Higurashi
        15
    Higurashi  
    OP
       2020-06-09 18:17:55 +08:00
    @imn1 已经放弃考虑换行符了😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1395 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:33 · PVG 01:33 · LAX 10:33 · JFK 13:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.