当尝试在C#中编写Regex表达式时,正则表达式本身是正确的并匹配字符串:
String telRegex = @"(^0[0-9]{10})|(\(0[0-9]{4}\)[0-9]{6}$)";
Match telRegexResult = Regex.Match(textBox1.Text, telRegex);
if (telRegexResult.Success) {
MessageBox.Show("Your Regex Matches!");
} else MessageBox.Show("Your Regex doesn't match!");
Run Code Online (Sandbox Code Playgroud)
如果我把"01446847362"它显示正则表达式匹配,这是预期的结果,但如果我也把"01446847362word",它也会表明它是正确的.
有什么我可以添加到我的正则表达式,以使它切断?
我需要有多种方法采用不同的参数.是否有更简洁的方法来编写这些方法而不是分别声明它们中的每一个?我总共需要4个相同的方法.我能写一个,但让它决定传递什么参数?或者我必须最终复制并粘贴第一个3次并更改参数.这是其中两个
public String findLogNumber(XWPFWordExtractor we) {
int logIndex;
int logIndexEnd;
String logNumber = "";
if (we.getText().contains("Log ")) {
logIndex = we.getText().indexOf("Log ") + 4;
logIndexEnd = logIndex + 5;
logNumber = we.getText().substring(logIndex, logIndexEnd);
}
return logNumber;
}
public String findLogNumber(WordExtractor we) {
int logIndex;
int logIndexEnd;
String logNumber = "";
if (we.getText().contains("Log ")) {
logIndex = we.getText().indexOf("Log ") + 4;
logIndexEnd = logIndex + 5;
logNumber = we.getText().substring(logIndex, logIndexEnd);
}
return logNumber;
}
Run Code Online (Sandbox Code Playgroud)