我正在尝试匹配以下类型的字符串:
123456
1234.56
123,456
1,234.56
.123456
我想确保这些字符串不匹配:
12,34.56
1.23,456
到目前为止,这是我想出的(在此论坛上一篇文章的帮助下):
(?<acreage>((\d{1,3}(,\d{3})+)?|\d*)\.\d+|(\d{1,3}(,\d{3})+|\d+)\.?)
这匹配所有有效字符串,但它也匹配部分无效字符串。
我想要的是在开始时放置某种边界条件,但它不能是 ^ 字符,因为在我试图匹配的面积之前可能有文本。\b 字符将逗号视为单词边界,因此对于如下字符串,
12,34,567.89
当我真的希望它无法匹配字符串的任何部分时,它将返回 34,567.89。
我将在 acreage 字符串之后检查特定字符,所以我不太担心它会做一些愚蠢的事情,比如从 123,4567 得到 123,456 和 7。
有人可以帮我让它只匹配有效字符串而不匹配任何无效字符串吗?