小编Nii*_*aku的帖子

如何使用正则表达式匹配类似CSV的字符串中的数字和数字范围?

通常,我喜欢正则表达式的挑战,甚至更好 - 解决它们.
但似乎我有一个我无法弄清楚的案例.

我有一串值,用CSV格式的分号分隔,看起来像这样: 123-234;FOO-456;45-67;FOO-FOO;890;FOO-123;11-22;123;123;44-55;098-567;890;123-FOO;

在这一行中,我想匹配所有整数和整数范围,以便稍后提取它们.有可能只有单个值(没有分号).

经过大量的搜索,我设法写了这个表达式:
(?:^|;)(?<range>\d+-\d+)(?:$|;)|(?:^|;)(?<integer>\d+)(?:$|;)

我正在使用的测试字符串:

  1. 123
  2. 123-234;FOO-456;45-67;FOO-FOO;890;FOO-123;11-22;123;123;44-55;098-567;890;123-FOO;
  3. 123-456
  4. 123-FOO
  5. FOO-123
  6. FOO-FOO

第1行和第3行正确匹配,第4,5行不正确.
在第2行中,只有一个值正确匹配.

下面是regex101.com一个链接,说明它:https://regex101.com/r/zA7uI9/5

我还需要分别选择整数和范围(在不同的组中).

注意:我发现了一个可以帮助我并尝试答案的问题(通过调整),但它没有用.
用于匹配数字和数字范围的正则表达式

你知道我错过了什么吗?

将"使用"此正则表达式的语言是C#,但我不知道它是否对我的问题有用.

由barlop添加

以下是当前正则表达式给出的匹配,如regex101.com链接所示

并为他的这个测试字符串 123-234;FOO-456;45-67;FOO-FOO;890;FOO-123;11-22;123;123;44-55;098-567;89

123-234
45-67
890
11-22
123
098-567
Run Code Online (Sandbox Code Playgroud)

所以他的正则表达式似乎错过了123中的一个,44-45和最后的89.

.net c# regex

6
推荐指数
1
解决办法
219
查看次数

删除http://或http://和www

嗨伙计们我正在努力建立一个网址清洁工.

我希望得到的URL列表,并删除所有https://,http://,www.从尾后的开始,也是所有文字,等等/.

我试过以下正则表达式 url.replace(/^https?\:\/\/www\./i, "").split('/')[0];

这在一定程度上起作用并输出以下内容

"www.net-temps.com"
"www.toplanguagejobs.com"
"http:"
"peopleready.com"
"nationjob.com"
"http:"
"bluesteps.com"
"https:"
"theguardian.com"
"reddit.com"
"youtube.com"
"https:"
"pgatour.com"
"cultofmac.com"
Run Code Online (Sandbox Code Playgroud)

从以下列表:

'www.net-temps.com',
'www.toplanguagejobs.com',
'http://nychires.com/',
'http://www.peopleready.com/',
'https://www.nationjob.com/',
'http://nationaljobsonline.com/',
'https://www.bluesteps.com/',
'https://medium.freecodecamp.com/how-we-got-our-2-year-old-open-source-project-to-trend-on-github-8c25b0a6dfe9#.nl4985bjz',
'https://www.theguardian.com/uk/business',
'https://www.reddit.com/r/funny/comments/5qzkz4/my_captain_friend_sent_me_this_photo_saudi_prince/',
'https://www.youtube.com/watch?v=Bua8k_CcnuI',
'https://stackoverflow.com/questions/7000995/jquery-removing-part-of-string-after-and-removing-too/7001040#7001040',
'http://www.pgatour.com/fantasy.html',
'http://www.cultofmac.com/464645/apple-spaceship-campus-flyover/'
Run Code Online (Sandbox Code Playgroud)

如果我/www\.从正则表达式中删除它,这很好用,并删除所有https:等,但我也想删除www.它,如果它在那里,不管https:

这是我到目前为止编码的内容

https://jsfiddle.net/xba5x9ro/1/

将来,这将被分类.我想从文本区域运行makeDomainBeautiful并输出到另一个textarea 的URL列表,但我想我会先使用它.

javascript regex

3
推荐指数
1
解决办法
8812
查看次数

正则表达式匹配模式,也限制字符的数量

我有正则表达式匹配模式的问题,也限制字符的数量:

例如,我允许数字前缀: 2, 31, 32, 35, 37, 38, 39, 41, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60

那么我只想要数字和整数的最大长度等于9.所以例如数字如:255555555将是好的但31555555555555555不会.

这是我试图解决这个问题,但它不能正常工作:

^( (2|31|32|35|37|38|39|41|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60)+[0-9]* ){9}$
Run Code Online (Sandbox Code Playgroud)

javascript regex angularjs

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

标签 统计

regex ×3

javascript ×2

.net ×1

angularjs ×1

c# ×1