在VB中有什么区别
String.Format("{0:X1}", abyte)
Run Code Online (Sandbox Code Playgroud)
和
String.Format("{0:X2}", abyte)
Run Code Online (Sandbox Code Playgroud)
abyte是byte类型
我正在尝试创建一个正则表达式,它将使用PHP过滤有效的电子邮件,并遇到了一个与我对正则表达式的理解相冲突的问题.这是我正在使用的代码.
if (!preg_match('/^[-a-zA-Z0-9_.]+@[-a-zA-Z0-9]+.[a-zA-Z]{2,4}$/', $string)) {
return $false;
}
Run Code Online (Sandbox Code Playgroud)
现在从我研究的材料中,这应该允许@之前的内容是多个字母,数字,下划线和句点,然后允许多个字母和数字,然后需要一个句点,然后需要两到四个字母作为顶部级域名.
但是,现在它忽略了拥有顶级域部分的要求.例如,@ bc显然是有效的(并且应该是),但是@ b也返回有效,我希望ti被标记为不是这样.
我确定我错过了一些东西,但在谷歌浏览了一个小时之后,我不知道它可能是什么.任何人都有这个难题的答案吗?
编辑:答案到达的速度使这个网站优于其竞争对手.做得好!
Public Enum Fruit
Red_Apple = 1
Oranges
Ripe_Banana
End Enum
Private Sub InitCombosRegular()
Dim d1 As New Dictionary(Of Int16, String)
For Each e In [Enum].GetValues(GetType(Fruit))
d1.Add(CShort(e), Replace(e.ToString, "_", " "))
Next
ComboBox1.DataSource = d1.ToList
ComboBox1.DisplayMember = "Value"
ComboBox1.ValueMember = "Key"
ComboBox1.SelectedIndex = 0
End Sub
'This fails
Dim combo1 = DirectCast(ComboBox1.SelectedValue, Fruit) ' Fails
'these both work
Dim combo2 = DirectCast(CInt(ComboBox1.SelectedValue), Fruit) 'works
Dim combo3 = CType(ComboBox1.SelectedValue, Fruit) 'works
Run Code Online (Sandbox Code Playgroud)
为什么CType工作和DirectCast语法不一样?然而,如果我在我之前投了selectedValue一个,那么它是有效的intDirectCast
问候
_Eric
我正在使用mochijson2编码一些数据.但我发现它作为列表在字符串上表现得很奇怪.
例:
mochijson2:编码( "foo" 的).
[91, "102",44, "111",44, "111",93]
其中"102","111","111"是$ f,$ o,$ o编码为字符串44是逗号,91和93是方括号.
当然,如果我输出这个地方,我会得到字符串"[102,111,111]",这显然不是我的意思.
如果我试试
mochijson2:编码(<< "富" >>).
[34 << "foo" 的>>,34]
所以我再次得到一个两个双引号和二进制部分的列表,其中可以通过list_to_binary/1转换为二进制
这是一个问题 - 为什么它如此不一致.我知道有一个问题是distingushing erlang list应该被编码为json数组和erlang字符串,它应该被编码为json字符串,但至少可以在我传递二进制文件时输出二进制文件吗?
第二个问题:看起来mochijson输出的一切都很好(因为它使用特殊的元组来指定数组{array,...})
mochijson:编码(<< "富" >>).
"\"富\ ""
mochijson2和mochijson有什么区别?性能?Unicode处理?还要别的吗?
谢谢
我们使用CSS重置文件命名从html到p到img等的每个元素,并重置边距,高度,大小等.一个非常标准的重置文件.但是,客户注意到他们<sub>和<sup>标签没有显示为下标和上标应该.所以,我从重置文件中删除了和标记引用,希望能解决这个问题.它已经在FireFox和Safari中修复了它,但它仍然保留在IE6和IE7中.
这里有什么我想念的吗?这些标签是否在重置时从另一个标签继承其样式?并且,有没有办法使用CSS重新做任何可能已经撤消到重置中的标签<sub>和<sup>标签?谢谢你的帮助.
我正在使用泛型将Java代码转换为C#并且遇到了类似容器的问题:
public static class MyExtensions
{
public static void add(this List<object> list, object obj)
{
list.Add(obj);
}
public static void add(this List<string> list, string s)
{
list.Add(s);
}
}
Run Code Online (Sandbox Code Playgroud)
似乎泛型在比较参数时丢失了,两种方法相互冲突.我想知道仿制药是否可以这种方式使用.是否可以使用单个支持所有列表操作:
public static void add(this List<object> list, object obj)
{
list.Add(obj);
}
Run Code Online (Sandbox Code Playgroud)
例如?
总结所有响应都有相同的解决方案.列表可以抽象为ICollection.总的来说,对于生产代码来说,这可能不是一个好主意.
在尝试安装MySQL的python绑定MySQLdb时,我按照说明在运行Mac OS X 10.6 i386的MacBook上构建和安装,并在进入终端后输入以下行:
user-152-3-158-79:MySQL-python-1.2.3c1 jianweigan$ sudo python setup.py build
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
running build
running build_py
creating build/lib.macosx-10.3-i386-2.6
copying _mysql_exceptions.py -> build/lib.macosx-10.3-i386-2.6
creating build/lib.macosx-10.3-i386-2.6/MySQLdb
copying MySQLdb/__init__.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb
copying MySQLdb/converters.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb
copying MySQLdb/connections.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb
copying MySQLdb/cursors.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb
copying MySQLdb/release.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb
copying MySQLdb/times.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb
creating build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.3-i386-2.6/MySQLdb/constants
running build_ext …Run Code Online (Sandbox Code Playgroud) Vim非常适应标签Vs. 空间偏好.据我了解,该tabstop设置表示制表符的宽度.该shiftwidth设置指定使用<<和>>命令时递增/递减的列数,而softtabstop设置会影响Tab在插入模式下按键时要插入的空白量.如果expandtab启用,则Tab键会插入softtabstop空格字符数.而用expandtab切断时,按下Tab键会插入的最小可能数目的匹配标签+空格字符softtabstop.(如果我错了,请纠正我.)
最后一点让我想知道:有一个你不想要的实际案例shiftwidth == tabstop && tabstop == softtabstop吗?我想不出一个.就我而言,如果我可以在一个单独的任务中将所有这三个设置为相同的值,那将是最方便的.例如:
:set stab=4
Run Code Online (Sandbox Code Playgroud)
这相当于运行:
:set tabstop=4 softtabstop=4 shiftwidth=4
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何做到这一点?
感谢迄今为止对php,hobbs和kaiser.se的回复.我不是单独回复每个人,而是在这里更新问题.
我在上面说过,关闭expandtab后,按Tab键会插入尽可能少的匹配的tab +空格字符softtabstop.我支持这一点,但我认为我需要解释我的意思.我将通过几个例子尝试这样做.要继续,请运行:set list以便您可以看到制表符.
tabstop=4 softtabstop=2 shiftwidth=4 noexpandtab
在插入模式下,按Tab键可插入2个空格字符.按tab键的第二时间,并且代替插入2个更多的空间字符(总共4个空格字符)它替换先前的2位具有单个制表符.Tabstop设置为4,因此单个制表符的宽度与4个空格的宽度相同.
tabstop=4 softtabstop=6 shiftwidth=4 noexpandtab
在插入模式下,按Tab键可插入1个制表符加2个空格.制表符的宽度为4,因此总宽度为6,这是使用3个字符实现的.再次按Tab键可插入两个制表符,并删除先前插入的两个空格.总宽度为12,使用3个字符即可实现.
在这两个示例中,Vim都插入了与softtabstop匹配的最小可能数量的制表符+空格字符.
如果我正在使用expandtab关闭,我看不到自己想要通过将softtabstop设置为与tabstop不同的值来实现额外的粒度控制.它仍然将是有益的我能够设置tabstop,softtabstop并shiftwidth用一个命令相同的值.
tabstop=4 softtabstop=0 shiftwidth=4 …
我正在寻找有关如何管理多个计时器任务的一些指导.我希望能够动态创建计时器,然后当每个计时器完成时,它将重置自己.
例:
定时器1 - 执行动作x - 重置以在30分钟内再次执行动作x
定时器2 - 执行动作y - 重置为在10分钟内再次执行动作y
我使用vim(在Windows上实际上是gvim)作为我的主要文本编辑器.在我的工作流程中,我必须将句子复制到各种外部源,因此我使用clipboard = unnamed来保存键击(p而不是"*p".
我从外部源复制文本,我想将其粘贴到vim中的两个不同的地方.我标记了第一个(v),然后使用p粘贴它.问题是此时我丢失了原始缓冲区并且无法将其粘贴到第二位.它不存在在未命名的缓冲区,*缓冲区或编号的缓冲区.我的猜测是粘贴选择是将"粘贴"文本放在未命名的缓冲区中.
如何将原始字符串粘贴到两个位置?即防止它丢失来自缓冲区.
谢谢.