0

我正在尝试验证用户是否在服务器端将一些文本输入到富文本框中。我也不想让他们只放入 HTML 编码的空格。我正在使用应用程序的内置正则表达式验证,所以我不能有多个模式。

是否可以对以下模式仅使用一个C# 正则表达式?

允许(一个或多个非空白字符)。不允许空字符串:

^.*\S+.*$

- 他们需要输入一些文字。不允许所有空格:

!^\s+$ 

- 最有可能的空白将显示为 . 不允许仅包含 HTML 空格字符的字符串:

!^( )+$

我认为这会起作用,但它不会:

 ^.*\S+$(!(^(\s+)+$))!(^( )+$)

所以这两个将是一个有效的字符串:

'lorem ipsum' 
'lorem ipsum'
4

2 回答 2

0

我不清楚你想捕捉什么......但这有效吗?

^((\S(?<!&nbsp;))+((\s|&nbsp;)+)?)+$

火柴:
"lorem"
"lorem ipsum"
"lorem&nbsp;ipsum"

不匹配:
""
" "

编辑评论

于 2013-01-16T22:11:59.833 回答
0

听起来这样可以正常工作(编辑以匹配新要求):

^\s*(?!&nbsp;)\S
于 2013-01-16T22:16:22.957 回答