问题列表 - 第25160页

Python:将格式字符串转换为正则表达式

我的应用程序的用户可以通过格式字符串配置某些文件的布局.

例如,用户指定的配置值可能是:

layout = '%(group)s/foo-%(locale)s/file.txt'
Run Code Online (Sandbox Code Playgroud)

我现在需要找到已经存在的所有这些文件.使用glob模块这似乎很容易:

glob_pattern = layout % {'group': '*', 'locale': '*'}
glob.glob(glob_pattern)
Run Code Online (Sandbox Code Playgroud)

但是,现在出现了困难的部分:给定glob结果列表,我需要获得与给定占位符匹配的所有文件名部分,例如所有不同的"locale"值.

我以为我会为格式字符串生成一个正则表达式,然后我可以匹配glob结果列表(或者可能跳过glob并自己完成所有匹配).

但我找不到一个很好的方法来创建正则表达式与正确的组捕获,并逃避其余的输入.

例如,这可能会给我一个与语言环境匹配的正则表达式:

regex = layout % {'group': '.*', 'locale': (.*)}
Run Code Online (Sandbox Code Playgroud)

但是为了确保正则表达式是有效的,我需要通过re.escape()传递它,然后它也会转义我刚刚插入的正则表达式语法.调用re.escape()首先会破坏格式字符串.

我知道有fnmatch.translate(),它甚至会给我一个正则表达式 - 但不会返回正确的组.

有没有一个很好的方法来做到这一点,没有像使用正则表达式安全的唯一值替换占位符等黑客?

是否有某种方式(可能是第三方库?)允许以更灵活的方式解析格式字符串,例如在占位符位置拆分字符串?

python regex formatting

7
推荐指数
1
解决办法
4722
查看次数

Perforce Howto?在分支之间同步/合并文件

(A) ------- (B) ----------- (C)
 |           |               |
Trunk  ReleaseBranch   DeveloperBranch
Run Code Online (Sandbox Code Playgroud)

开发人员在C分支中工作并签入所有文件.然后在C分支中标记修改的文件.部署的二进制文件是从B分支构建并标记的.目前这一切都是手动的.

在Perforce中,有没有一种简单的方法来实现这一点,比如根据标签合并分支等?

perforce

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

将效果应用于jquery-ui选项卡

是否可以将效果应用于jquery-ui选项卡,我还没有看到它的任何示例,我很确定如果可能以下内容不正确:

<script type="text/javascript">
    $(function() {
        $("#tabs").tabs();
        $("#tabs").effect(slide,options,500,callback);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-tabs jquery-effects

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

函数可以返回一个对象吗?Objective-C和NSMutableArray

我有一个NSMutableArray.它的成员最终成为类中数组实例的成员.我想将NSMutable的实例化放入一个函数中并返回一个数组对象.如果我能做到这一点,我可以让我的一些代码更容易阅读.这可能吗?

这是我想弄清楚的.

//Definition:
function Objects (float a, float b) {
    NSMutableArray *array = [[NSMutableArray alloc] init];
    [array addObject:[NSNumber numberWithFloat:a]];
    [array addObject:[NSNumber numberWithFloat:b]];  
    //[release array]; ????????
    return array;
}

//Declaration:
 Math *operator = [[Math alloc] init];
    [operator findSum:Objects(20.0,30.0)];
Run Code Online (Sandbox Code Playgroud)

如果我在将消息发送到接收方之前实例化NSMutableArray,我的代码就会编译.我知道我可以有一个数组参数和方法.我遇到的问题是如何使用函数并用函数调用替换参数.任何帮助表示赞赏.我对这个概念感兴趣,而不是建议更换findSum方法.

oop class function objective-c nsmutablearray

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

无需办公即可从C#创建Excel文件

我正在编写一个生成excel报告的程序,目前正在使用Microsoft.Interop.Excel引用.我的开发计算机上有Excel,但最终用户可能安装了Office,也可能没安装Office.如果最终用户计算机上未安装Office,或者此互操作服务是否与实际应用程序分开,此工具是否会失败?

c# excel file-io office-interop

57
推荐指数
6
解决办法
14万
查看次数

如何从Perl正则表达式生成所有可能的排列?

我知道您可以使用globAlgorithm :: Permute从列表中生成所有排列- 但是如何从正则表达式生成所有可能的排列?

我想这样做:

@perms = permute( "/\s[A-Z][0-9][0-9]/" );
sub permute( $regex ) {
    # code - put all permutations of above regex in a list
    return @list;
}
Run Code Online (Sandbox Code Playgroud)

regex perl permutation

6
推荐指数
1
解决办法
2154
查看次数

Swing - 如何混合JTextField和JTextAreas并具有相同的视觉外观?

我正在使用miglayout创建一个表单,其中有JTextFields(简短的输入答案)以及JTextAreas(更长的答案).问题是双重的.

  1. Scrollpane包装文本区域周围的边框与文本字段的边框不匹配.
  2. textarea/textfield的宽度和位置不同,导致它们无法正确排列.

替代文字http://grab.by/3O0V

从右/左更改为右/填充后: alt文本http://grab.by/3RMk 您可以看到边界排列,但仍然存在差距.我尝试设置novisualpadding但这并没有解决它.

源代码:

package test2;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;

public class Test extends JPanel {

private static final int NUM_CHARACTERS_WIDTH = 20;
private static final int NUM_ROWS = 5;
public Test() {

    setLayout(new MigLayout(
            "wrap 2",
            // Align text labels on the so their right edge meets left edge of the text fields
            "[right][left]"
            ));

    add(new JLabel("Text field:"));
    add(new JTextField(NUM_CHARACTERS_WIDTH));

    add(new JLabel("No scrollpane text area:")); …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing miglayout

8
推荐指数
2
解决办法
7870
查看次数

如何用java读取密码加密密钥?

我有私钥存储在PKCS8 DER格式的文件中,并受密码保护.最简单的阅读方式是什么?

这是我用来加载未加密的代码:

InputStream in = new FileInputStream(privateKeyFilename);
byte[] privateKeydata = new byte[in.available()];
in.read(privateKeydata);
in.close();
KeyFactory privateKeyFactory = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(privateKeydata);
PrivateKey privateKey = privateKeyFactory.generatePrivate(encodedKeySpec);
Run Code Online (Sandbox Code Playgroud)

它适用于具有相同规范的未加密密钥.顺便说一下,我正在使用BouncyCastle.

我可以使用以下openssl命令查看此私钥

openssl pkcs8 -in ./privatekey.key -inform DER -passin pass:thisismypass
Run Code Online (Sandbox Code Playgroud)

请帮忙!!!

我已经在我自己对这个主题的回答中发布了一些解决方案.但是如果没有额外的库,只有BouncyCastle,任何人都可以提供帮助,我仍然无法回答问题.

java bouncycastle jce pkcs#8 private-key

14
推荐指数
1
解决办法
2万
查看次数

为什么VS 2008中不支持J#,语言死了吗?

MS是否放弃了J#?我们目前通过J#程序集与软件集成.有谁知道它是否会在2010年得到支持?

j# visual-studio-2010 visual-studio-2008

3
推荐指数
1
解决办法
1706
查看次数

更改命令行参数

我正在写一个C程序.它从commandLine获取它的参数.我想更改代码中的commandLine参数.由于它们被定义为"const char*",我不能使用"strcpy","memcpy"来改变它们......而且,你知道,我不能只将它们的类型从"const char*"改为"char*" ".有没有办法改变它们?

非常感谢你提前.

最好的问候,沙迪.

c command-line

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