求一个正则表达式匹配多个字符串匹配日期类型 日期格式为 "yyyy-MM-dd",考虑到要符合多种格式,不受0的影响例如 "" "" "" //前面可以添加任意个0 可以忽略平年和闰年的影响...
1)元字符 : 非一般字符,具有某种意义的字符。如 : \bX : \b边界符, 以 X开始的单词
2)正则表达式匹配多个字符串語法大全
将下一字符标记为特殊字符、文本、反向引用或八进制转义符例如,"n"匹配字符"n""\n"匹配换行符。序列"\\"匹配"\""\("匹配"("。 |
零次或多次匹配前面的字符或子表达式例如,zo* 匹配"z"和"zoo"* 等效于 {0,}。 |
一次或多次匹配前面的字符或子表达式例如,"zo+"与"zo"和"zoo"匹配但与"z"不匹配。+ 等效于 {1,} |
等效于 'o?'。注意:您不能将空格插入逗号和数字之间 |
当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是"非贪心的""非贪心的"模式匹配搜索到的、尽可能短的字符串,而默认的"贪心的"模式匹配搜索到的、尽可能长的字符串例如,在字符串"oooo"中"o+?"只匹配单个"o",而"o+"匹配所有"o" |
匹配除"\r\n"之外的任何单个字符。若要匹配包括"\r\n"在内的任意字符请使用诸如"[\s\S]"之类的模式。 |
匹配 pattern 并捕获该匹配的子表达式可以使用 $0…$9 属性从结果"匹配"集合中检索捕获的匹配。若要匹配括号字符 ( )请使用"\("或者"\)"。 |
匹配 pattern 但不捕获该匹配的子表达式即它是一个非捕获匹配,鈈存储供以后使用的匹配这对于用"or"字符 (|) 组合模式部件的情况很有用。例如'industr(?:y|ies) 是比 'industry|industries' 更经济的表达式。 |
|
我需要做批字符串定位目标数據文件格式为:
>下一个字符串名
以下为实际例子,字符串长度有删节:
单一文件大小为120M。
每个字符串长3k左右构成字符串的字符只有A,T,C,G四種。
待检索字符串恒为25字节检索结果是待检索字符串在哪个目标数据字符串的第几字节。可能有多个匹配结果
我想了一个方法,但没能力写代码:
每目标字符串连续每25字节(1..25,2..26,3..27,...)做crc8的hash对hash做索引(好像一般用btree?),查询时把待检索字符串算crc8对匹配项逐个作普通字符串比较(eq)。
至於hash长度我也不知道多长合适。25字节的信息熵是50bit好像crc4就可以了?长了费内存短了每个hash对应的字符串太多影响时间效率。
能写个较完整嘚代码最好只有搜索部分我也会满足的。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。