2

我在一个字符串中有一些逗号分隔的数字,我想从中匹配一个特定的数字。对于示例字符串“18, 34, 22, 9, 2, 56”,我想匹配数字“2”,而不是 22 中的两个“2”。我怎样才能获得它?

4

4 回答 4

1

使用这个正则表达式\b2\b替换2你的值

于 2012-08-04T12:40:02.470 回答
1

您可以使用大多数 prog 语言提供的普通字符串函数来解决这个问题,而无需使用正则表达式。例如 Python 中的一种解决方案。在开头和结尾添加逗号:

s=", 18, 34, 22, 9, 2, 56,"
s.find(', 2,')

如果找不到搜索字符串,该函数将返回 -1。如果您坚持使用正则表达式,则模式可能看起来相同。

于 2012-08-04T13:04:59.390 回答
0

这可能不是最好的方法,但您可以尝试这样的方法

                string NUmbers= "18,22,34,52";
                string[] NewNos=NUmbers.Split(',');

                for(int i=0;i<NewNos.Length;i++)
                {
                    if(NewNos[i].ToString().Contains("2"))
                    {
                    //do whatever you want

                    }
                }
于 2012-08-04T12:44:26.737 回答
0

你可以使用 grep

echo "18, 34, 22, 9, 2, 56" | grep -E -o "^2,| 2,| 2$"

并用您在逗号分隔的数字字符串中搜索的任何数字替换 grep 正则表达式中的“2”

于 2012-08-04T13:14:12.880 回答