小编Ibr*_*jar的帖子

如何在Python中考虑正则表达式的重音字符?

我目前使用re.findall查找并隔离字符串中哈希标记的'#'字符后的单词:

hashtags = re.findall(r'#([A-Za-z0-9_]+)', str1)
Run Code Online (Sandbox Code Playgroud)

它搜索str1并找到所有的hashtags.这可行,但它不考虑像这样的重音字符,例如:áéíóúñü¿.

如果其中一个字母在str1中,它会将标签保存到它之前的字母.例如,#yogenfrüz将是#yogenfr.

我需要能够解释所有带有德语,荷兰语,法语和西班牙语的重音字母,以便我可以保存像 #yogenfrüz

我怎么能这样做呢

python regex django non-ascii-characters hashtag

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

使用System.ComponentModel.DataAnnotations.Validator验证属性

我有我的实体设置与数据注释验证属性,我试图使用静态Validator类验证它,但我得到不同的例外,这不是正确的方法:

string _ValidateProperty(object instance, string propertyName)
        {
            var validationContext = new ValidationContext(instance, null, null);
            validationContext.MemberName = propertyName;
            var validationResults = new List<ValidationResult>();
            var isValid = Validator.TryValidateProperty(instance, validationContext, validationResults);
            if (isValid)
                return string.Empty;
            return validationResults.FirstOrDefault<ValidationResult>().ErrorMessage;
        }
Run Code Online (Sandbox Code Playgroud)

.net c# wpf

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

使用Reactive Extensions搜索TextChanged

我试图在具有10000多条记录的数据库表上实现即时搜索.

搜索文本框内的文本发生更改时搜索开始,当搜索框变空时,我想调用另一种加载所有数据的方法.

此外,如果用户更改搜索字符串,而正在加载另一个搜索的结果,则应停止加载这些结果以支持新搜索.

我像下面的代码一样实现它,但我想知道是否有更好或更清晰的方法来使用Rx(Reactive Extension)运算符,我觉得在第一个observable的subscribe方法中创建第二个observable比声明性的,对于if语句也是如此.

var searchStream = Observable.FromEventPattern(s => txtSearch.TextChanged += s, s => txtSearch.TextChanged -= s)
    .Throttle(TimeSpan.FromMilliseconds(300))
    .Select(evt =>
        {
            var txtbox = evt.Sender as TextBox;
            return txtbox.Text;
        }
    );

searchStream
    .DistinctUntilChanged()
    .ObserveOn(SynchronizationContext.Current)
    .Subscribe(searchTerm =>
        {
            this.parties.Clear();
            this.partyBindingSource.ResetBindings(false);
            long partyCount;
            var foundParties = string.IsNullOrEmpty(searchTerm) ? partyRepository.GetAll(out partyCount) : partyRepository.SearchByNameAndNotes(searchTerm);

            foundParties
                .ToObservable(Scheduler.Default)
                .TakeUntil(searchStream)
                .Buffer(500)
                .ObserveOn(SynchronizationContext.Current)
                .Subscribe(searchResults =>
                    {
                        this.parties.AddRange(searchResults);
                        this.partyBindingSource.ResetBindings(false);
                    }
                    , innerEx =>
                    {

                    }
                    , () => { }
                );
        }
        , ex =>
        {
        }
        , …
Run Code Online (Sandbox Code Playgroud)

.net c# reactive-programming system.reactive

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

在Dapper中管理与非缓冲查询的连接

我最近开始使用Dapper,一切看起来都很简单但有一件事让我感到困惑:连接管理.

根据文件:

Dapper不管理连接的生命周期,它假定它获得的连接是打开的并且没有现有的数据引用器枚举(除非启用了MARS)

鉴于此,我开始在我的存储库方法的实现中执行此操作:

using (var db = new SqliteConnection(connectionString)) {
    // call Dapper methods here
}
Run Code Online (Sandbox Code Playgroud)

然后我遇到了一个包含大量记录的表,所以我IEnumerable<T>通过传递buffered: falseQuery<>方法返回一个,当我开始枚举前端的枚举时,繁荣一个例外,说连接被关闭并处理了预期因为我用前面的使用块包装我的调用.

问题:最好的方法来解决这个问题?
附带问题:我管理连接的方式是首选方式吗?

.net c# ado.net dapper micro-orm

9
推荐指数
2
解决办法
4492
查看次数

BDD,SpecFlow和Gherkin都在一起

我刚刚听说过BDD(行为驱动开发),我很喜欢这个想法.因为我主要使用C#和.NET,我找到了SpecFlow,然后了解到SpecFlow使用Gherkin,现在我感到迷茫.在哪里可以找到告诉您关于SpecFlow的所有相关信息的官方文档,Gherkin也是如此.

简而言之:是否有关于使用这些工具开发现实生活(实际)应用程序的书(不是博客和文章)?

.net c# bdd specflow gherkin

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

在WPF 4中仍然存在的内存泄漏

我打算建立一个WPF MVVM业务应用框架,这样做的谈论在WPF平台的内存泄漏的研究时,我遇到了许多文章.

在Windows Presentation Foundation中使用数据绑定时可能会发生
内存泄漏使用DataBinding避免WPF内存泄漏(黑魔法)
严重内存泄漏瘟疫WPF
前5个WPF和Silverlight中的内存泄漏
WPF绑定错误导致可能的内存问题

但大多数可以追溯到2007年和2008年,所以我想知道哪些已经解决了,哪些没有解决.

换句话说,在构建我的框架或一般情况下(WPF 4.0,.NET 4.0)时,可能会出现哪些内存泄漏(可能会发生)?

编辑:我会尝试更具体.我可以利用WeakEventManager它及其子类来监听事件而无需开发自己的解决方案吗?

编辑2:更具体.我是否可以使用它WeakEventManager来解决.NET中事件导致的内存泄漏问题,而不仅仅是WPF?如果是这样,为什么它是WPF命名空间的一部分而不是一般的.NET命名空间?

.net c# wpf

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

将整个ObservableCollection替换为另一个ObservableCollection

public class Alpha
{
    public ObservableCollection<Beta> Items { get; set; }

    public Alpha()
    {
        Items = new ObservableCollection<Beta>();
    }

    public void DoSomething()
    {
        Items = GetNewItems();  // whenever I do this, Items gets a new referene, 
                                // so every WPF binding (e.g. datagrids) are broken
    }

    public ObservableCollection<Beta> GetNewItems()
    {
         var ret = new ObservableCollection<Beta>();
         // some logic for getting some items from somewhere, and populating ret
         return ret;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何ItemsGetNewItems()不带的返回值替换整个内容:

  1. 打破绑定.

  2. 必须遍历项目并将它们一个一个地复制到另一个集合中?

c# wpf binding observablecollection

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

保持许多数据库始终同步

我有一个桌面PC网络(Windows 7),它们位于地理上彼此分开(与LAN连接).

该网络有一个Oracle后端.

我想在每台PC上本地安装一个数据库(其中大约12个,目前正在考虑SQLite,但对其他可能性开放).

我需要保证本地数据库始终保持同步,并始终与Oracle数据库保持同步,或者至少与网络连接(网状拓扑)保持同步.

同步只涉及一个表.

这个问题有哪些可行的有效解决方案?最好事先与你合作过.

.net sqlite oracle synchronization

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

与Code First的单向一对多关系

我在Contact和Phone之间有一对多的单向关系,定义如下:

class Contact {
    int ContactId {get; set}
    ICollection<Phone> Phones {get; set}
}
class Phone {
    int PhoneId {get; set;}
    string PhoneNumber {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

现在在域层中,我尝试执行以下操作:

someContact.Phones.Remove(somePhone);
Run Code Online (Sandbox Code Playgroud)

当我试图打电话时context.SaveChanges()我得到一个例外,因为这种关系被定义为必需(例如,没有联系人就不能存在电话).
如何在不使用电话中的外键或导航属性的情况下解决此问题,而无需在呼叫DbSet<Phone>.Remove(Phone)前进行呼叫SaveChanges()

.net c# ado.net entity-framework ef-code-first

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

正则表达式re.sub列表在一个文件中

我有一个文本列表,可以用以下方式重新编写:re.sub('0000', '1111',data).

一个替代模式^(.{4})(.{4})(.{3})(.{3})\1\4\2\3在壳一个输入正常工作也.但是,我在列表中使用此模式的尝试在第一行上给出了不良结果,并且从不替换后者.我在这里错过了什么?

"0000-22N-06W-01"
"0000-22N-06W-02"
"0000-22N-06W-03"
"0000-22N-06W-04"

import re
o = open("output.txt","w")
data = open("input.txt").read()
o.write(re.sub(r'^(.{4})(.{4})(.{3})(.{3})', r'\1\4\2\3',data))
o.close()
Run Code Online (Sandbox Code Playgroud)

python regex

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