当前位置: 首页 > 知识库问答 >
问题:

用于匹配除空白字符以外的任何字符的正则表达式

宰父存
2023-03-14

我正在编写一个php类来从csv文件中提取数据。所以正则表达式需要帮助。

数据样本

Data 
Data        
Datatest1
Data test
Data         867$33@!.//()7
Field somthing
Field           

正则表达式

/(?:Data|Field)(.+)/

这不应该匹配第1、2和7行,因为它在数据和字段后只有空格和制表符(空白)

这是我的regex测试程序链接https://regex101.com/r/xpG25l/1/

共有2个答案

王才
2023-03-14

你可以使用一个消极的展望(?!\h*$) 断言右侧的内容不是 0 倍水平空格字符 \h* 后跟字符串 $ 的末尾

(?:Data|Field)(?!\h*$).+$

正则表达式演示

如果正则表达式应该从字符串的开头开始匹配,则可以将^附加到模式以断言字符串的开头。

否则,字符串test Field somthing中会有一个匹配项

堵茂勋
2023-03-14

你可以做这样的事情

(?:Data|Field)\h*\S.*

以要求在任何数量的 \h(水平空格)后使用 \S(非空格字符)。

查看更新的演示

 类似资料:
  • 如何使用regex匹配任何单词而不显示指定的单词 我想去掉“你”这个词 我有一些词例如: 所以,这个项目的结果是:

  • 我们目前正在使用在Java的函数中从字符串中删除特殊字符。我们注意到,当连字符与数字混合时,我们需要允许连字符。 不匹配连字符的示例: 1-2-3 -1-23-4562 --1--2--3--4- --9-a--7 425-12-3456 将匹配连字符的示例: < li> - a - b - c 沃尔玛超市 我们认为我们使用这个SO问题作为参考制定了一个正则表达式来满足后一个标准,但我们不知道如何

  • 问题内容: 我正在尝试创建一个匹配字符串的正则表达式,如果它连续有3个或多个重复字符(例如aaaaaa,testtttttt,otttttter)。 我尝试了以下方法: 连续 匹配 任意 3个字符,但不 连续的 字符…我在哪里出错? 问题答案: 您要的内容无法使用 真正的 正则表达式完成,您需要的是(不规则的)反向引用。尽管许多正则表达式引擎实现了它们,但Go使用的RE2却没有。RE2是一种快速的

  • 说到正则表达式,我没那么令人印象深刻。。。 我试图匹配一个单词中除第二个字符外的所有字符。 我想匹配 示例字符串: 我提出了以下两个正则表达式。 除第一个字符外,此字符与“uml”匹配( -- 这与第一个字符匹配,除了最后3个(uml)

  • 问题内容: 什么正则表达式将匹配Java中的任何ASCII字符? 我已经尝试过: 但是发现它与我想要的很多东西都不匹配(例如空格,括号等)。我希望避免以如下格式显式列出所有127个ASCII字符: 问题答案: 我没用过但是我用过

  • 问题内容: true)。但是,我编写了一个简单的程序,其结果表明,任何字符都根本与换行符不匹配。该程序可以在这里找到:http : //play.golang.org/p/pccP52RvKS。我真的很困惑。 任何帮助将不胜感激,并在此先感谢。 问题答案: 像大多数其他(所有?)正则表达式引擎一样,点不匹配换行符,除非您在正则表达式中添加“全部点”标志。 我使用您的链接对此进行了测试,并且可以正常