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

正则化以查找以%开头并以. DESR结尾的字符串

萧韬
2023-03-14

我在记事本中加载了一个非常大的源代码文件,我试图使用它的regex搜索功能来查找所有使用属性的地方。

我需要找到设置属性<code>DESCR</code>的所有位置。我尝试只搜索。DESCR没有正则表达式,但有太多的结果需要我筛选。我知道我正在寻找的代码要么以%This开头

我尝试使用RegExr构造正则表达式,但它没有找到我想要的字符串。我在这里寻找试图更多地理解正则表达式,但我仍然缺少一些东西。

编辑:更多描述这里是我将要寻找的东西的例子:
%This.oPosition.DESCR=

但是,它不应该匹配以下内容:< br>

我知道我离基地太远了,但以下是我所做的尝试:

(\%This\|\

我只是对regex不够熟悉,无法理解我错过了什么。


共有2个答案

姚鹤龄
2023-03-14

以下是您的尝试失败的原因:

>

  • 您只检查小写。[A-Z]您需要检查 [a-zA-Z] 或使用不敏感的修饰符 /i(在本例中由“匹配大小写”复选框表示

    当使用or simple时,它引用其后的所有内容,直到它到达结尾或一个闭括号

    这是您需要的正则表达式

    (\%This\.|\&)[A-Za-z]+\.DESCR
    

    如果您只想捕获.DESCR,您可以像这样使用此非捕获组:

    (?:(?:\%This\.|\&)[A-Za-z]+)(\.DESCR)
    

    然后,您可以使用反向引用 $1 或 \1 替换 。DESCR 在这些特定外观中

    https://regex101.com/r/fW9lZ2/2

  • 梁俊友
    2023-03-14

    可以搜索< code >(?:%this\|

    • (?:%this\|

     类似资料:
    • 问题内容: 我需要一个不以点开头或不以开头的正则表达式。 此正则表达式有效,但在第一个条件下失败;它不以点开头: 例如:应为有效字符串,但失败。 问题答案: 从上一个问题开始,您应该可以使用: 但是,如果您希望能够匹配1个字符串,则需要否定先行: 而且,如果您也想匹配空字符串,只需使用代替即可。

    • 我想在Java中使用Regex提取某种字符串。我目前有这样的模式: 应该匹配以“a”开头、以“se”结尾的字符串。这不起作用。我错过了什么吗? 删除了模式末尾的 \n 行并将其替换为“$”:仍然没有匹配项。正则表达式从我这边看起来是合法的。 我想提取的是从临时字符串中提取的“a se”。

    • 我想从输入(proto文件)中获取所有消息块。我在下面写了regex方法,但regex模式不匹配。专家们有什么建议吗?提前谢谢。 我的原始文件,我作为字符串发送到上面的方法

    • 问题内容: 我想从表中查询具有元音作为其第一个和最后一个字符的名称列表。结果不能包含重复项。 为此,我编写了一个查询,该查询具有25个条件,每个元音每个其他元音,这非常笨拙。有更好的方法吗? 问题答案: 您可以使用正则表达式:

    • 如何编写由字符组成但必须以相同字母开头和结尾的正则表达式?例如:

    • 问题内容: 我想测试一个字符串是否以a结束。我希望下面的Java行能打印出正确的文字。为什么打印错误? 问题答案: 在Java Regex中,(在String中的任意位置找到匹配项)和(与整个String匹配)之间存在区别。 String仅具有一个方法(实现等效于以下代码:),因此您需要创建一个与完整String匹配的模式: