gpt4 book ai didi

javascript - 我们如何为 ex_date(ddsf#dsd) 编写正则表达式?

转载 作者:行者123 更新时间:2023-11-29 18:40:39 24 4
gpt4 key购买 nike

当#-symbol 位于两个字符串之间时,正则表达式模式应该接受该字符串。假设 ex_date( ds23d#d4ff5 ) 应该接受字符串,但是,如果字符串是 ex_date( asa#ss32as, #, s3ds#sdsd) 呢?在这种情况下,它不应接受该字符串。

我试过这个模式

/(([a-z0-9]#[a-z0-9]+(\s|\)|\,|$)))/

它应该期待 ex_date( d23sd#df32f ) 而不是 ex_date(as3a#ss4as, #, sd24s#sd56sd ) 因为中间的#-符号单独意味着那里# 之前和# 之后没有字母数字字符。

规则:

如果字符串中的任何地方出现#-symbol,那么只有在

  • 如果 #-symbol 后跟数字,如 - #12。
  • 如果#-符号没有像#、(#)、[#]、### 那样单独出现。
  • 如果#-符号后面只跟字符 - 'dt',例如 - #DT 或 #dt 或 #dT 或 #Dt。
  • 如果#符号位于任意两个字母数字字符之间,例如 w3e#ere、221#we4、er#rr、12#21。
  • 如果在#-symbol 之前只有字母数字字符,假设是 ew1#、ge#、12#。

没有任何#-symbol 的字符串是有效的,除非它不包含像(ROW、UROW 和 COL)这样的词,比如 - ROW1、UROW、urow12、row、col1 col323 这些都是无效的字符串。

最佳答案

假设 ex_date( ds23d#d4ff5 ) 是应该匹配的完整示例,我会将正则表达式表述为:

ex_date\(\s*[a-z0-9]+#[a-z0-9]+\s*\)

Demo

关于javascript - 我们如何为 ex_date(ddsf#dsd) 编写正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57340595/

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