19

必须通过正则表达式验证行,

  1. 行可以包含任何字符、空格、数字、浮点数。

  2. 行不应为空

我试过这个:

[A-Za-z0-9~`!#$%^&*()_+-]+ //thinking of all the characters

任何替代解决方案都会有所帮助

4

10 回答 10

31

试试这个来匹配包含不仅仅是空格的行

/.*\S.*/

这表示

/= 分隔符
.*= 零个或多个除换行符之外的任何内容
\S= 除空格之外的任何内容(换行符、制表符、空格)

所以你得到
匹配除了换行符之外的任何东西+不是空格的东西+除了换行符之外的任何东西

如果仅空白行算作非空白,则将规则替换为/.+/,这将匹配 1 个或多个任何内容。

于 2014-03-27T10:32:52.300 回答
15

尝试:

.+

这 。匹配任何字符,加号至少需要一个。

于 2012-07-23T19:37:55.420 回答
7

尝试 :[^()]

在 python 中re.match()

  >>> re.match( r"[^()]", '' )
  >>> re.match( r"[^()]", ' ' )
  <_sre.SRE_Match object at 0x100486168>
于 2012-07-23T20:12:10.120 回答
3

您可以检查该行是否匹配^$,如果匹配则它为空白,您可以将其用作失败,否则它将通过。

于 2012-07-23T19:39:03.243 回答
3

尝试这个:

^.+$

在尝试查找不具有空属性的标签时,我在 python BeautifulSoup 中使用了它。它运作良好。示例如下:

# get first 'a' tag in the html content where 'href' attribute is not empty
parsed_content.find("a", {"href":re.compile("^.+$")})
于 2016-08-10T13:11:50.733 回答
1

尝试

^[A-Za-z0-9,-_.\s]+$ 

对于字母、数字,此字符串将返回 true,,-_.但不接受空字符串。

+-> 量词,匹配 1 到无限制。

*-> 量词,匹配 0 到无限制。

于 2019-03-30T05:37:31.280 回答
0
^\S+[^ ]$

^- 行首

\S - 任何非空白字符

+- 一次或多次发生

[^ ]- 不在集合中的字符(在这种情况下只有空格),^ 和 ] 之间有一个空格,这将匹配 dsadasd^adsadas

$- 行结束

有什么可以帮助你的

于 2019-03-04T17:12:00.463 回答
0

这将匹配至少 1 个字符的每一行:

(.*?(\n))
于 2018-02-06T16:52:45.410 回答
0

.*- 匹配零到无限次任何字符(行终止符除外)

\S- 匹配任何非空白字符

回答:.*[\S].*

'aaaaa'匹配

'aaaaa '匹配

' aaaaa'匹配

' aaaaa '匹配

'aaaaa aaaaa aaaaa'匹配

' aaaaa aaaaa aaaaa'匹配

'aaaaa aaaaa aaaaa '匹配

' aaaaa aaaaa aaaaa '匹配

' '不匹配

您可以在以下位置测试此正则表达式:https ://regex101.com

于 2020-10-08T16:37:15.407 回答
0

这一个将匹配所有内容,但不是空白字符串:

^(\s|\S)*(\S)+(\s|\S)*$

空白字符串是那些仅包含空字符(制表符、空格等)的字符串。

于 2015-11-04T17:25:00.203 回答