我想使用正则表达式来过滤掉纯正的中文名称:
SELECT `name` FROM `table` WHERE `name` REGEXP '[u4e00-u9fa5]';
但是,根据this,它是不可能的,所以我想从相反的方向接近,找到没有任何字母,数字和特殊字符的内容(我知道它不是僵硬的) ,但无法找到"和"运营商,那怎么办呢?
答案 0 :(得分:2)
MariaDB使用从10.0.5版开始的 PCRE 正则表达式库:“Starting with MariaDB 10.0.5, MariaDB switched to the PCRE regular expression library for enhanced regular expressions.”。
要匹配包含中文字母的条目,请使用
private void assignmentfinder(string brief, string id)
{
Regex rgxLines = new Regex(@"^(.*?)[ \t]+([0-9]{2}\/[0-9]{2}\/[0-9]{4})", RegexOptions.Multiline);
MatchCollection mLines = rgxLines.Matches(brief);
foreach (Match match in mLines)
{
richTextBox1.Text += String.Format("Test: {0}{1}Date: {2}{1}{1}",
match.Groups[1].Value,
Environment.NewLine,
match.Groups[2].Value);
}
}
甚至
REGEXP '[\\x{4e00}-\\x{9fa5}]'
要匹配反向的条目,没有中文字母,请使用:
REGEXP '\\p{Han}'
或
REGEXP '^[^\\x{4e00}-\\x{9fa5}]*$'