读书人

哪位高手熟悉php的正则请帮转成C#的

发布时间: 2012-08-28 12:37:01 作者: rapoo

谁熟悉php的正则,请帮转成C#的


keywords = '超G强抗t△干dst△扰敏■■感※◇词 kljb过&滤jb一■&№正■№则匹◎←配代crSBtr码(只……支{持^中#^文)';

$blackwords = '超强|抗干扰|敏感词|过滤|正则匹配|代码|只支持|中文';




if(preg_match("/$blackwords/", preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $keywords), $match)) ///转这一句///

{

/* 检测到有敏感词 执行相关代码 */

var_dump($match);

}




[解决办法]
再改一下我的代码,可以找到原始字符和位置

VB.NET code
        Dim keywords = "超G强抗t△干dst△扰敏■■感※◇词 kljb过&滤jb一■&№正■№则匹◎←配代crSBtr码(只……支{持^中#^文)"        Dim blackwords = "(超强|抗干扰|敏感词|过滤|正则匹配|代码|只支持|中文)"        blackwords = Regex.Replace(blackwords, "(?<=[\u4e00-\u9fa5])[^\|\u4e00-\u9fa5]*(?=[\u4e00-\u9fa5])", "[^\u4e00-\u9fa5]*")        Dim Matchs = Regex.Matches(keywords, blackwords)        For Each Match As Match In Matchs            If Match.Success Then                Debug.Print("敏感字符:  """ & Match.Value & """  位于该字符串第" & (Match.Index + 1).ToString & "个字符起共" & Match.Length.ToString & "个字符")            End If        Next 

读书人网 >C#

热点推荐