求助一则全字匹配的算法

问题描述

最近遇到一个问题,需要用全字匹配的方式替换字符串,例如我指定输入字符串InputStr,需要将其中的一部分字符串替换掉,但发现用正则表达式的时候,如果遇到需要替换的字符串中包含了特殊的转义字符,如+-*/()%等,就会替换失败,例如输入字符串:“大气系统#大气压强(气压高度<90km)%+参数1>0“,如果替换”大气系统#大气压强(气压高度<90km)%“就会失败,有没有什么好的方式可以能识别所有的特殊字符,能够直接把特殊字符也当做普通字符,进行全字匹配?

解决方案

解决方案二:
在你担忧的字符前面加上反斜杠
解决方案三:
关键是根本不知道会有什么样的特殊字符,这些特殊字符是动态随机出现的
解决方案四:
正则库中有个方法专门干这事:Regex.Escape(@"你的正则表达式")
解决方案五:
Regex.Escape(String)通过替换为转义码来转义最小的字符集(、*、+、?、|、{、[、(、)、^、$、.、#和空白)。这将指示正则表达式引擎按原义解释这些字符而不是解释为元字符。
解决方案六:
引用4楼xuzuning的回复:

Regex.Escape(String)通过替换为转义码来转义最小的字符集(、*、+、?、|、{、[、(、)、^、$、.、#和空白)。这将指示正则表达式引擎按原义解释这些字符而不是解释为元字符。

这个我试过了,我发现没办法成功,我刚刚用字符串:InputStr:大气系统#大气压强(气压高度小于20km)%,repStr:大气系统#大气压强(气压高度小于20km)%,替换为par,结果字符串仍然没有变化
解决方案七:
不知道你是怎么写的varInputStr="大气系统#大气压强(气压高度<90km)%+参数1>0";varpattern="大气系统#大气压强(气压高度<90km)%";Console.WriteLine(Regex.Replace(InputStr,pattern,""));Console.WriteLine(Regex.Replace(InputStr,Regex.Escape("+参数1>0"),""));

时间: 2024-07-31 09:04:51

求助一则全字匹配的算法的相关文章

php算法-集思广益,有个几百万关键字的文本匹配的算法,大家进来看看

问题描述 集思广益,有个几百万关键字的文本匹配的算法,大家进来看看 关键字 都是放在一个数组中的,譬如$keyword_arr=[""key1""key2""example""......],大约有几百万甚至上千万的关键字,这些关键字已经按照优先级从前到后排列了,越靠前的关键字优先匹配,匹配的最多次数是$max次:目前采用for循环$keyword_arr数组,然后将关键字组装成'/b(?:'.$value.')b/i';正则

求助:关于使用javascript 排队算法

问题描述 求助:关于使用javascript 排队算法 1-3 7-9 4-6 2-3 4-6 8-9 如何将类似这6组有起.止属性的对象,在最大终止范围内排成紧凑连贯起来的队,达到如下效果 1 - 3 4 - 6 7 - 9 2 - 3 4 - 6 8 - 9

SqlServer 英文单词全字匹配详解及实现代码_MsSql

SqlServer英文单词全字匹配 环境:Vs2013+Sql Server2012 问题:现在数据库记录如下:   Sentence列保存的是英文的句子,我现在想找出所有包含"I"(单词)的句子,如果我用 Sentence like '%I',作为条件的话,那么像上图选中的那条有个单词"it"(不区分大小写的情况下),它也会被Select出来,而我只想找出含有"I"这个单词的句子的记录. 解决:SqlServer提供了模式匹配,类似于正则,详细

字符串 匹配-一道算法问题字符串匹配的

问题描述 一道算法问题字符串匹配的 为了能有效地辅助对话系统完成限定领域完整对话流程,我们需要一个强大的匹配功能,现在要求你用编程来实现以下功能: 我们给出N个句子,作为语料库,语料库的句子分为以下三类: 1. 包含"_","_"可以匹配任意长度的字符串或者空串,例如,"早上好,店家!"能被语料库中的"_早上好_"匹配到,这类句子优先级最高. 2. 包含"*","*"可以匹配任意长度的字符串或者空串,例如,"早上好,店家!"能被语料库中的&quo

紧急求助!所有公共子序列求解算法

问题描述 如现给定两个序列T1<ABCBDABE>和T2<BDEABA>,如果按照LCS最长公共子序列求解时,结果是BCBA.BDAB,但是,我不想要这个最长的公共子序列,比如,T1中包含间隔元素BDE即T1<ABCBDABE>T2中也包含这三个元素即T2<BDEABA>,现在我只想得到类似这样的匹配结果(即能够得到所有的公共子序列结果,这样的元素可能是互相间隔不连续的),显然它并不包含在LCS的结果中,类似的结果还有BDA等,这样的情况归结为什么问题呢?用

C#.NET 关于金额多对一或一对多匹配的算法

问题描述 例:1.数据库有N条用户需求,张二10000元,张三8000元,张四5000元,李三8000元.....需求的人无限...2.数据库提供的供应者也是N条,王二提供5000元,王三提供8000元,王四提供7000元,王五提供1000元,王六提供10000元....无限匹配1个或多个供应者.如有单个供应者正好提供10000元,就匹配单个供应者.如没有就匹配:9000+1000,或8000+2000,或7000+2000+1000....匹配成功的放入相应数据表.求最优算法.谢谢! 解决方案

求助:实现城市公交查询系统の算法

问题描述 小弟最近在做一个Java大作业.要求实现一个公交查询系统,主要是一下两项功能的实现:给定出发站点和目的站点:问题1.给出最少换乘次数的乘车方案:问题2.给出途径最少站台数的乘车方案.各位大侠有什么好的算法吗?能否分享一下.其中问题1要求按照换乘次数由少到多依次列出乘车方案:问题2要求按照途径站台数由少到多依次列出乘车方案.很感谢参与讨论^_^ 解决方案 解决方案二:刚才忘记说了,大家是怎么组织数据的.

妹纸求助-c++编写寻找国都的算法,递归和非递归法

问题描述 c++编写寻找国都的算法,递归和非递归法 用c++编写寻找国都的代码 给出一个矩阵及一些国都名: o k d u b l i n dublin a l p g o c e v tokyo r a s m u s m b london o s l o n d o n rome y i b l g l r c bonn k r z u r i c h paris o a i b x m u z oslo t p q g l a m v lima 要求从这个矩阵中找出这些国都名,并输出它们的

字符串匹配 数据匹配-通过算法大数据循环两两比较字符串,因为循环次数过多而导致程序过慢,如何解决?求救。。。

问题描述 通过算法大数据循环两两比较字符串,因为循环次数过多而导致程序过慢,如何解决?求救... 数据库有十万条数据,比较的规则是,第一条和第二条后面的所有数据进行比较,第二条和后第三条后面的所有数据进行比较,以此类推...比较所有的数据,所比较的数据是根据所选择的几个列的数据进行相应列的对比.这个过程非常慢,据说用哈希可以提高速度,但是针对我们这样的数据结构不知道如何构造哈希表,有没有大神知道怎么样解决这个问题,小弟在这里请教....这个问题困扰了我很久都不能解决,求解决方案? 我们是在程序端