
我觉得这个没法写,或者至少是没法写的完美,说下我的理由:
其实题主要的就是正则的模糊匹配,但是不管模不模糊它都是要有一定规律才行, 就拿被动语态来说,泛泛来讲是: "be + 动词过去分词" , 规则的动词还好,如以ed结尾, 还有好大一部分是不规则的如过去分词就是动词原型的,如bet, 当然上面我只是举了两类例子, 所以根本就没有一个完美的规则来匹配所有,因此我认为题主这个正则不好写, 如果非要写,就是先匹配大路规则,然后将不规则的一个个查,查到一个往正则里加一个, 不过感觉没啥意义
另外,机器学习里有个自然语言处理, 我感觉题主如果真的想要自动匹配出来, 自然语言处理是个方法, 不过学习成本就上去了
-----
希望可以帮到题主, 欢迎追问
竖线“|”就是或的意思。意思是将两个匹配条件进行逻辑“或”(or)运算。
例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them"。注意:这个元字符不是所有的软件都支持的。
而最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行符)。
扩展资料:
求值运算:
进行逻辑表达式求值运算,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:
1、对逻辑表达式从左到右进行求解。
2、短路原则:在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。
具体理解逻辑表达式运算规则时可以先找到表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。
从最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。
如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算;只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。
参考资料来源:百度百科-正则表达式
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)