sách gpt4 ai đã đi

javascript - Trợ giúp truy vấn biểu thức chính quy - Đánh giá

In lại 作者:行者123 更新时间:2023-11-29 15:43:35 25 4
mua khóa gpt4 Nike

这有点相关:Regular Expression - Formatting text in a block - IM而是一个不同的问题。

根据以下条件寻找 - 的换行文本:

条件:

  • token 可以在行首或行尾
  • token 必须由空格或一个或多个符号包围:{.,!@#$....}。
    • 不能是围绕相关 - 对的普通字符 [a-zA-Z]。
    • 参见示例测试 3 ...w-谢谢您-
    • 测试 4 和 5 成功,因为 - 被 [^a-zA-Z] 包裹
  • token 后面不能跟第一个 - 上的空格或最后一个 - 之前的空格
    • “-Wow -”将不匹配,因为结束 - 前面有一个空格。
    • 参见示例测试 6 和 7

对于正则表达式的前面,我需要:(^|[\s\W]+)
结尾将是:($|[\s\W]+)

我有当前表达式,但由于在找到第一个 -

后转义条件停止,它失败了
   (^|[\s\W]+)-([^\s][^-]*)-($|[\s\W]+)

示例测试字符串为:

  1. (全部。):-哇-谢谢-。
  2. (哇):-哇-谢谢-!
  3. (NIL):- 哇-谢谢-。
  4. (谢谢):-哇!-谢谢-
  5. (谢谢):-哇-谢谢-
  6. (全部):-哇-谢谢-
  7. (NIL):-哇-谢谢-

这需要回头看吗? (我是正则表达式新手,所以请多多包涵)还是我的中间条件完全错误。

非常感谢!
姆沃尔夫。

1 Câu trả lời

尝试更简单的中间表达式。

(^|[\s\W]+)-(.*?)-($|[\s\W]+)
^^^

非贪婪通配符匹配将捕获匹配以下 -($|[\s\W]+) 所需的最小字符串。


编辑。 好的,我明白为什么这是错误的。您希望非空格字符分别紧跟在开头和结尾的破折号之后。所以试试这个:

(^|[\s\W]+)-(\S.*?\S)-($|[\s\W]+)
^^ ^^

关于javascript - 正则表达式查询帮助 - 回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288276/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com