我想要实现的目标是,我希望仅允许用户输入public class ScheduleTimeCellEditor extends DefaultCellEditor {
private final JSpinner spinner;
private final SpinnerDateModel spinnerDateModel;
public ScheduleTimeCellEditor(JTable jtblSchedule) {
super(new JTextField());
this.jtblSchedule = jtblSchedule;
spinnerDateModel = new SpinnerDateModel();
spinner.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
jtblSchedule.setDefaultRenderer(new ScheduleTableCellRenderer);
}
});
}
}
和google.com
中的任何网站。为此,我在python控制台中的示例代码如下:
返回的结果goo.gl
是正确的,因为false
符合包含url
的条件。我继续测试了更多选项网址,例如goo.gl
,https://google.gl/LoZXyE
函数返回find()
,因为它不符合包含字词' google.com'或者' goo.gl'。
我的问题是,如果我为变量url分配了如下所示的值,我希望它从上面的true
函数返回true
,因为它不包含单词' goo.gl&#39 ;完全,但它返回find()
。
发生了什么事?如何像上面的结果一样验证网址,如预期的那样?
感谢。
答案 0 :(得分:3)
那一行
url = 'https://goo.glAB/LoZXyE'
确实包含' goo.gl',但你不想要它,因为它会立即跟在网址中的AB
,后者会更改顶级域名。
另一种方法是不搜索goo.gl
,而是搜索//goo.gl/
。这适用于您提供的示例,并防止更改顶级域的后续和前一个字符。这就行了
url.find('//google.com/') == -1 and url.find('//goo.gl/') == -1
请记住,上面的行仅适用于交互式控制台。要在程序中使用它,请将其放在if
行或表达式中,例如
if url.find('//google.com/') == -1 and url.find('//goo.gl/') == -1:
或
expr = url.find('//google.com/') == -1 and url.find('//goo.gl/') == -1
或(更像是您的互动热线)
print(url.find('//google.com/') == -1 and url.find('//goo.gl/') == -1)
答案 1 :(得分:0)
尝试
url.find('google.com/') == -1 and url.find('goo.gl/') == -1:
...