小编Nul*_*ion的帖子

如何编写正则表达式以匹配种子标题格式?

我正在尝试匹配并打破一个典型的电视洪流的标题:

MyTV.Show.S09E01.HDTV.XviD
MyTV.Show.S10E02.HDTV.XviD
MyTV.Show.901.HDTV.XviD
MyTV.Show.1102.HDTV.XviD

我试图将这些字符串分成3个捕获组,每个条目:Title,Season,Episode.

我可以轻松处理前2个:

^([a-zA-Z0-9.]*)\.S([0-9]{1,2})E([0-9]{1,2}).*$
Run Code Online (Sandbox Code Playgroud)

然而,第三和第四个证明很难打破季节和插曲.如果我可以倒退,那会更容易.例如,对于"901",如果我可以向后工作,则将第一个数字作为数字编号,在此之前剩余的任何数字是季节数.

有没有人知道如何将这些字符串分解为相关的捕获组?

c# regex

5
推荐指数
2
解决办法
4399
查看次数

更多pythonic的方式来写这个?

我在这里有这个代码:

import re
def get_attr(str, attr):
    m = re.search(attr + r'=(\w+)', str)
    return None if not m else m.group(1)

str = 'type=greeting hello=world'

print get_attr(str, 'type')   # greeting    
print get_attr(str, 'hello')  # world
print get_attr(str, 'attr')   # None
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我不是特别喜欢这一行:

return None if not m else m.group(1)
Run Code Online (Sandbox Code Playgroud)

在我看来,如果我们可以使用三元运算符,这看起来会更清晰:

return (m ? m.group(1) : None)
Run Code Online (Sandbox Code Playgroud)

但那当然不存在.你有什么建议?

python

5
推荐指数
1
解决办法
1013
查看次数

如何在Android画廊中制作像"分享菜单"这样的花哨透明菜单?

在我的Android 2.2.2设备上,画廊看起来非常好.我想在自己的应用程序中做的是按一个按钮,然后显示如下所示的菜单: 在此输入图像描述

这是使用任何标准的Android主题/样式?有没有人知道有这样一个菜单的示例代码?

编辑:我发现用一个Dialog可以模仿这个菜单.为了简化这个例子,我在这个例子中没有使用ListView,只是对话框的一个TextView条目:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/layout_root"
              android:orientation="vertical"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              >
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:textColor="#FFF"
              android:padding="10dp"
              />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

按下按钮时显示对话框:

                Dialog dialog = new Dialog(MyActivity.this);
                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

                dialog.setContentView(R.layout.custom_dialog);

                TextView text = (TextView) dialog.findViewById(R.id.text);
                text.setText("Test option 1");

                WindowManager.LayoutParams WMLP = dialog.getWindow().getAttributes();
                WMLP.gravity = (Gravity.BOTTOM | Gravity.LEFT);
                WMLP.x = 0;
                WMLP.y = 0;
                dialog.getWindow().setAttributes(WMLP);

                dialog.show();
Run Code Online (Sandbox Code Playgroud)

这将创建一个靠近图片菜单的对话框.不过我还有两个问题:

1)如何在对话框底部绘制这个小三角形,如上图所示?

2)应该打开对话框的按钮水平放置在底部按钮栏的中间.因此,当我按下它时,对话框应显示在该按钮的正上方.我想做的是:

WMLP.x = middleButton.getLeft() + (middleButton.getWidth() / 2) - dialog.getWindow().getDecorView().getPaddingLeft() - (WMLP.width / 2);
Run Code Online (Sandbox Code Playgroud)

问题是,WMLP.width是-2.我想原因是布局宽度设置为"wrap_content"(即-2),此时不知道实际宽度.那么,我如何确定对话框的宽度,以便我可以将它同心放在另一个视图上?

更新:我终于找到了一个很好的对话源,如下所示:http: //www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/

这正是我想要的,我现在正在我的应用程序中使用它.

android coding-style menu transparent

5
推荐指数
1
解决办法
4229
查看次数

TortoiseSVN在存储在网络共享上的工作副本上显示日志非常慢

我正在使用存储在samba网络共享上的工作副本。似乎工作正常;ecxept ...

在Windows下,我可以执行“ svn log -l 100 -v”。在工作副本上,并在不到1秒的时间内得到结果。但是,如果我使用TortiseSVN右键单击并显示日志,则在使用> 30Mbps的网络带宽时它会挂起几分钟。

Tortise处理网络存储的工作副本是否需要已知问题或配置?

svn tortoisesvn nfs

5
推荐指数
1
解决办法
2513
查看次数

SQL错误:ORA-12712:新字符集必须是旧字符集的超集

我想将oracle数据库的字符集从'WE8MSWIN1252'更改为'AL32UTF8'

我尝试从链接执行以下步骤(http://download.oracle.com/docs/cd/B10501_01/server.920/a96529/ch10.htm#1009580):

使用SHUTDOWN IMMEDIATE或SHUTDOWN NORMAL语句关闭数据库.执行数据库的完整备份,因为无法回滚ALTER DATABASE CHARACTER SET语句.填写以下声明:

STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET AL32UTF8;
Run Code Online (Sandbox Code Playgroud)

但是当我执行上述语句时,我收到以下错误

SQL错误:ORA-12712:新字符集必须是旧字符集的超集

任何人都可以帮我解决这个问题.

oracle utf-8

5
推荐指数
2
解决办法
3万
查看次数

python和java中继承的区别概述

我有java背景,正在学习python。我很快就需要使用继承,我想找出每个继承的工作方式之间有什么主要区别。我在网上看了一下,发现了一些关于两者之间差异以及要注意什么的信息,我发现 python 支持多重继承,但我想知道任何其他特定于继承的差异。我不需要被告知语法(除非有一些我真的需要注意的东西),我已经看过它了,我会接受的。

Python 不是 Java
Python 类:Java 程序员的多重继承
Python

我无法真正找到我正在寻找的内容,即差异概述和需要注意的内容。

python java inheritance multiple-inheritance

5
推荐指数
1
解决办法
3978
查看次数

SELECT DISTINCT如何在MySQL中运行?

我有一个包含多行的表,它们具有相同的数据.我曾经SELECT DISTINCT得到一个独特的行,它工作正常.但是当我使用ORDER BYSELECT DISTINCT它给了我未排序的数据.

有人能告诉我有多么独特吗?

根据它选择行的标准?

mysql sql

5
推荐指数
1
解决办法
8803
查看次数

操作无法完成.FORMATETC结构无效

我正在使用asp.net和开发基于Web的应用程序ajax.今天我遇到了一个问题,同时在启用ajax的webform下拖放基于ajax的组件.

错误消息是

The operation could not be completed. Invalid FORMATETC structure
Run Code Online (Sandbox Code Playgroud)

如果您的答案是汇编,那么请让我知道哪些汇编这样的问题(具体关于汇编)

asp.net ajax

5
推荐指数
1
解决办法
3896
查看次数

将引用存储在另一个变量中

我一直在搜索,但我找不到任何方法来存储对某个变量中另一个变量的引用.我正在尝试创建一个类来撤消用户完成的事情;

class UndoAction
{
    public object var;
    public object val;
    public UndoAction(ref object var, object val)
    {
        this.var = var;
        this.val = val;
    }

    public static List<UndoAction> history = new List<UndoAction>();
    public static void AddHistory(ref object var, object val)
    {
        history.Add(new UndoAction(ref var, val));
    }
}
Run Code Online (Sandbox Code Playgroud)

我想你可以看到我在这里想要实现的目标.

我跑的问题;

this.var = var;
Run Code Online (Sandbox Code Playgroud)

不存储引用,而是存储引用的'var'的值.我如何存储引用本身,所以我可以简单地运行;

this.var = val;
Run Code Online (Sandbox Code Playgroud)

在我的情况下,"撤消"一个动作?

.net c# reference

5
推荐指数
1
解决办法
8399
查看次数

XSD架构中的正则表达式:两个组合元素的混合和最大大小

我想为XSD类型创建一个限制,只允许大小为0到64的元素,一个点和另一个大小为0到64的元素.我试过这个,但没有成功.

<xs:simpleType name="myString_Type">
        <xs:restriction base="xs:string">
            <xs:pattern value="^([a-zA-Z\-]){0-64}.$([a-zA-Z\-]){0-64}"/>
        </xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)

谢谢.

regex xsd

5
推荐指数
1
解决办法
4129
查看次数