用于检查字符串开头或结尾处的空格的RegEx模式

use*_*244 2 regex mysql whitespace

我知道这\s是用于匹配字符串中任何空格的模式.现在,我的问题是在字符串的开头或结尾检查空格的确切正则表达式是什么?

所以,如果我有一个字符串"hello world",那么空格就在起始处,所以它会返回true.如果字符串是"hello world",它也将返回true.白色空间位于字符串的开头和结尾.

我不需要删除空格,但我只需要检查数据库中的数据是否在开头或结尾都有空格.

这是我的SQL查询,但这不起作用.这只会获取最后有空格的数据:

select * from `data_table`
where `data_content` regexp '[ \f\t\v]$';
Run Code Online (Sandbox Code Playgroud)

上面的查询给出了7个结果,因为只有7个记录在末尾有空格.我需要获取3条记录,这些记录在字符串的开头有空格.

我试过运行这个SQL查询:

select * from `data_table`
where `data_content` regexp '^\s' || `data_content` regexp'\s$';
Run Code Online (Sandbox Code Playgroud)

它给了我87个结果.我通过PHPMYADMIN逐个检查结果,我得到的结果是那些没有空格的数据.

mmd*_*bas 5

使用\s的空白导致的问题对我来说.所以,我使用了[[:blank:]],这很好用:

select data_content as     'leading_or_trailing'
from   data_table
where  data_content regexp '^[[:blank:]]|[[:blank:]]$';

select data_content as     'leading'
from   data_table
where  data_content regexp '^[[:blank:]]';

select data_content as     'trailing'
from   data_table
where  data_content regexp '[[:blank:]]$';
Run Code Online (Sandbox Code Playgroud)