相关疑难解决方法(0)

如何将连字符与正则表达式匹配?

如何重写 [a-zA-Z0-9!$* \t\r\n]模式以匹配连字符和现有字符?

c# regex

67
推荐指数
5
解决办法
11万
查看次数

我需要在正则表达式中逃脱破折号吗?

我试图-在正则表达式中使用反斜杠来理解短划线字符需要逃脱?

考虑一下:

var url     = '/user/1234-username';
var pattern = /\/(\d+)\-/;
var match   = pattern.exec(url);
var id      = match[1]; // 1234 
Run Code Online (Sandbox Code Playgroud)

正如您在上面的正则表达式中看到的那样,我正在尝试从url中提取id的数量.我也-使用反斜杠在我的正则表达式中逃脱了角色\.但是当我删除那个反斜杠时,仍然很好.... 换句话说,这两个都很好:

现在我想知道,哪一个是正确的(标准)?我需要在正则表达式中逃脱破折号吗?

javascript regex

15
推荐指数
2
解决办法
2万
查看次数

在正则表达式中转义管道("|")

我需要拆分单词和结束标记(某些类型的标点符号).奇怪的管道("|")可以算作结束标记.在我尝试添加管道之前,我的代码表示结束标记.添加管道使strsplit每个角色.逃避它导致和错误.如何在正则表达式中包含管道?

x <- "I like the dog|."

strsplit(x, "[[:space:]]|(?=[.!?*-])", perl=TRUE)
#[[1]]
#[1] "I"    "like" "the"  "dog|" "."   

strsplit(x, "[[:space:]]|(?=[.!?*-\|])", perl=TRUE)
#Error: '\|' is an unrecognized escape in character string starting "[[:space:]]|(?=[.!?*-\|"
Run Code Online (Sandbox Code Playgroud)

结果我想:

#[[1]]
#[1] "I"    "like" "the"  "dog"  "|"  "."  #pipe is an element
Run Code Online (Sandbox Code Playgroud)

regex r

10
推荐指数
2
解决办法
2万
查看次数

如何在模式匹配中添加破折号

这有效:

select Name
from Table
WHERE Name like '%[^0-9A-Za-z]%'
Run Code Online (Sandbox Code Playgroud)

但现在我还需要将短划线字符添加到标准中.

sql-server

7
推荐指数
2
解决办法
6910
查看次数

正则表达式X/Y坐标

我有适合这种模式的数据:(x|y).x并且y可以是负数,并且在这种情况下,符号-存在.我正在尝试构建一个正则表达式来匹配x和y.

这是我目前的表达,这对我来说似乎有效,但是不起作用:

/\((-?\d+)\|(-?\d+)\)/
Run Code Online (Sandbox Code Playgroud)

这是原始数据:

?(-112|??-522??)
?(-112|??522??)
(112|-??522??)
(112|??522??)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

php regex coordinate

5
推荐指数
1
解决办法
514
查看次数

无法在正则表达式中检测到" - "字符

我试图测试一个角色是否是一个特殊角色.

当我编写以下代码时,它的' - '字符失败:

import re

s = '-'
regex = re.compile('[!@#$%^&*()-+]')

if regex.search(s) == None:
    print("Not found")
else:
    print("Found")
Run Code Online (Sandbox Code Playgroud)

输出>>未找到

但是,如果我在模式中更改' - '字符的位置如下(代码的第3行),它可以正常工作

import re 

s = '-'
regex = re.compile('[!@#$%^&*()+-]')

if regex.search(s) == None:
    print("Not found")
else:
    print("Found")
Run Code Online (Sandbox Code Playgroud)

输出>>找到

造成这种差异的原因是什么?我如何确保检测到这些字符?

python regex

5
推荐指数
1
解决办法
56
查看次数

如何使用正则表达式允许连字符

我希望用户使用以下代码输入连字符

<var>
    <var-name>mask</var-name>
    <var-value>^[a-zA-Z0-9]*$</var-value>
</var>
Run Code Online (Sandbox Code Playgroud)

我正在使用 struts 验证。所以请帮我解决这个问题。

编辑

用户可以在字符串的任何位置输入连字符,因此对于-应该在开头、中间还是结尾没有限制。

java regex struts

4
推荐指数
2
解决办法
7804
查看次数

为什么这个Java正则表达式与我的字符串不匹配?

我有以下Java代码:

String data = "MaxL-450";

if(!data.matches("MaxL\\-*"))
    throw new IllegalArgumentException("Did not match.");
Run Code Online (Sandbox Code Playgroud)

当我执行它时,抛出异常,因为显然正则表达式与我的data字符串不匹配.我的正则表达式有问题还是其他事情发生在这里?提前致谢.

java regex

0
推荐指数
1
解决办法
85
查看次数

标签 统计

regex ×7

java ×2

c# ×1

coordinate ×1

javascript ×1

php ×1

python ×1

r ×1

sql-server ×1

struts ×1